我需要一种更好的方法来实现最佳性能,并尽可能简洁代码使用事件委托。
特别是正确的 .ready():
$(document).ready(function()
或
$(document).on('ready',function() //it is correct?
其他?
.click(), .bind(), .hover(), .load(), .ready(), etc.
答案 0 :(得分:2)
来自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()
函数还具有创建委托事件的附加功能。
.on( "click", "selector", function() {});
因此,如果您希望简洁的代码坚持.on()
版本。