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

标签 javascript jquery performance

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

在我的例子中,我有一个 div (#menu) 里面有一个项目列表 (

  • ) 并且点击要打印的项目一个警告。我不明白两个选项之间什么(以及为什么)是最好的问题:

    一个

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

    B

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

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

  • 最佳答案

    不同的是第一个会为所有<li>创建一个事件监听器代码运行时存在。

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

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

    但与第一个相比的主要优势在于它考虑了尚不存在的元素。这称为“事件委托(delegate)”。

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

    关于javascript - 在 jquery 中使用 on() 时更好更快的技术?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33325545/

    相关文章:

    c# - 如何使用c#高效地在数据库中写入数据?

    string - String.substring() 的性能与手动查找复制的 char[] 数组相比如何?

    javascript - 结合两个 JavaScript 函数来一个接一个地运行?

    javascript - JS 按类更改 setposition

    javascript - 在转动滚轮之前,谷歌浏览器不会在某些网站上应用来自自建扩展的注入(inject)代码

    javascript - 使用 jquery 或 javascript 解析 Json 对象

    vba - Excel UDF查找具有给定值的范围内的第一个和最后一个单元格-运行缓慢

    javascript - jQuery : Sum multiple select value if only selected

    javascript - 选择除某个类之外的所有元素

    javascript - 如何使用下划线 throttle 进行滚动?