我希望我的文件加载更快,所以我读了如何制作更快更强大的jquery。我知道我必须使用click(),但最好使用on()。
在我的情况下,我有一个div(#menu)里面有一个项目列表(< li> ),并点击要打印的项目提醒。我不明白这两个选项之间的原因(以及为什么)是最好的问题:
A
$('#menu li').on('click', function(){
alert("ok");
});
乙
$('#menu').on('click','li', function(){
alert("ok");
});
我希望你能帮助我......不幸的是,在意大利语中,关于它的解释并不多,而且我的英语不是很好...... 提前谢谢!!!
答案 0 :(得分:5)
区别在于第一个将为代码运行时存在的所有<li>
创建一个事件监听器。
第二个只创建一个事件监听器,如果目标与选择器参数匹配则触发。
一个监听器比创建100个事件监听器更有效率。
但与第一个相比的主要优势在于它解释了尚不存在的元素。这被称为“事件委托”。
简而言之,当您知道将来会动态添加目标元素时,请使用第二个目标版本