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

Bor*_*rja 1 javascript performance jquery

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

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

一个

  $('#menu li').on('click', function(){
    alert("ok");
   });
Run Code Online (Sandbox Code Playgroud)

    $('#menu').on('click','li', function(){
    alert("ok");
   });
Run Code Online (Sandbox Code Playgroud)

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

cha*_*tfl 5

不同之处在于,第一个将为<li>代码运行时存在的所有事件创建一个事件监听器.

第二个只创建一个事件侦听器,如果目标与selector参数匹配则触发.

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

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

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