假設我只是想附上一個簡單的點擊處理程序的元素,我一直在做這樣的:我應該使用.on()還是.click()附加事件處理程序?
$("#mydiv").click(function() { ... });
望着JQuery的文檔,似乎.on()
是「建議」的方式附加事件處理程序並替換.bind()
,.delegate()
和.live()
:
在jQuery 1.7中,。對()方法提供用於附接的事件處理程序所需 所有功能。有關從舊jQuery 事件方法轉換的幫助,請參閱.bind(),.delegate()和.live()。
而且在.click()
它說的文檔:
這種方法是在頭兩個變化對.bind快捷方式( '點擊',處理程序),並.trigger('點擊')在第三。
因此,這意味着.click()
使用.bind()
將由.on()
被棄用,取而代之,是吧?或者暗示.click()
會堅持下去,但它會在某種程度上成爲.on("click")
的快捷方式?
基本上,我的問題是這樣的......當今天從事寫作的jQuery代碼,我應該使用:
Variant 1: $("#mydiv").click(function() { ... });
或:
Variant 2: $("#mydiv").on("click", function() { ... });
?
您不必擔心遺留代碼,他們不太可能會完全刪除點擊速記。 .on()處理程序只是附加事件處理程序的一種更有效的方式,從能夠同時附加多個事件處理程序到向映射事件添加額外信息! – Khez