在jquery中使用on()时更好更快的技术?

时间:2015-10-25 02:22:23

标签: javascript jquery performance

我希望我的文件加载更快,所以我读了如何制作更快更强大的jquery。我知道我必须使用click(),但最好使用on()。

在我的情况下,我有一个div(#menu)里面有一个项目列表(< li> ),并点击要打印的项目提醒。我不明白这两个选项之间的原因(以及为什么)是最好的问题:

A

  $('#menu li').on('click', function(){
    alert("ok");
   });

    $('#menu').on('click','li', function(){
    alert("ok");
   });

我希望你能帮助我......不幸的是,在意大利语中,关于它的解释并不多,而且我的英语不是很好...... 提前谢谢!!!

1 个答案:

答案 0 :(得分:5)

区别在于第一个将为代码运行时存在的所有<li>创建一个事件监听器。

第二个只创建一个事件监听器,如果目标与选择器参数匹配则触发。

一个监听器比创建100个事件监听器更有效率。

但与第一个相比的主要优势在于它解释了尚不存在的元素。这被称为“事件委托”。

简而言之,当您知道将来会动态添加目标元素时,请使用第二个目标版本