我想更好地瞭解jQueryUI插件的事件,如http://api.jqueryui.com/autocomplete/。瞭解jQueryUI事件
例如,我有select(event,ui)事件。根據文檔,看起來兩位代碼是相同的。正確?
$(".selector").autocomplete({
select: function(event, ui) {}
});
(".selector").on("autocompleteselect", function(event, ui) {});
好吧,我想都將「autocompleteselect」事件的事件處理函數附加到所選元素。該文檔還將「選擇」事件的「類型」顯示爲「自動完成選擇」。但我認爲活動名稱是「選擇」。它是「選擇」還是「自動完成選擇」?請注意,我第一次嘗試通過jQueryUI源代碼,但是字符串「autocompleteselect」從不使用。 「autocompleteselect」在哪裏定義?
我的下一個混亂之處是當我把代碼放入與事件相關的匿名函數中時。此代碼是否總是首先執行,然後是任何與even執行相關的默認插件代碼?請問event.preventDefault();
也會阻止默認行爲?
本身被命名爲「autocompleteselect」事件的事件 - 它是什麼你正在通過'開'。傳遞給Autocomplete插件的構造函數的項目用於初始化事物。 'select'選項是指定自動完成插件手動激發的'autocompleteselect'事件要執行的操作的方式。稍後使用'on'是動態地將處理程序綁定到該事件的一種方法。 – Ian 2013-03-27 13:50:17
啊,我想這是有道理的,「選擇」是一個選項,指定的功能,而不是一個事件。謝謝 – user1032531 2013-03-27 13:54:55
是的,事件名稱與小部件選項無關,但有一個約定(正如Arun P Johny的答案中指出的那樣)。僅僅因爲這個選項被稱爲'select'並不意味着這是事件的名稱或任何相關的事情。使用'select'選項,小部件觸發的事件可以稱爲'itemchange' ...並且您要處理的事件將是'autocompleteitemchange'。但現在我們知道,事情正在變得更加匹配(可能是因爲它有意義而且更容易)。該選項被稱爲'select',被觸發的事件是'select'(內部),並且您偵聽'autocompleteselect'。 – Ian 2013-03-27 14:05:19