首选使用.on()方法而不是.click(),. bind(),.。hover(),. load(),. ready()等

我需要一种更好的方法来尽可能地实现最佳性能和简洁的代码使用事件委托。

特别是正确的.ready()

$(document).ready(function() 

要么

 $(document).on('ready',function() //it is correct? 

其他?

 .click(), .bind(), .hover(), .load(), .ready(), etc. 

来自jQuery .ready()docs :

jQuery提供了几种附加在DOM准备就绪时运行的函数的方法。 以下所有语法都是等效的:

 $( handler ) $( document ).ready( handler ) $( "document" ).ready( handler ) $( "img" ).ready( handler ) $().ready( handler ) 

从jQuery 3.0开始,建议只使用第一种语法; 其他语法仍然有效但不推荐使用。

所以最好和最短的方式是:

 $(function() { // your code }); 

对于.click()事件及其朋友来说,它更复杂。 .click(function(){}).on("click", function(){})的快捷方式,因此它们可以互换使用。

但是.on()函数具有创建委托事件的附加function。

 .on( "click", "selector", function() {}); 

所以如果你想要简洁的代码坚持.on()版本。