首页 >web前端 >js教程 >jQuery 1.7 .on()vs .live()评论

jQuery 1.7 .on()vs .live()评论

William Shakespeare
William Shakespeare原创
2025-03-01 08:31:09184浏览

> jQuery's .on().off()方法:综合指南

>本文探讨了jQuery的.on().off()事件处理程序,将它们与现在播放的.live()方法进行了比较。 亚当·桑塔格(Adam Sontag)在2011年的jQuery峰会上提出的建议,以采用.on().off()强调了重大改进。让我们深入研究功能和差异。

>

> jquery .live()(已弃用)

不再建议使用

方法来称赞其将事件处理程序连接到动态添加的DOM元素的能力。 它的局限性包括:.live()

  1. 绩效:在应用之前检索元素效率低下,尤其是大量文档。.live() 不支持
  2. 链接:方法链接(例如,是无效的)。 $("a").find(".offsite, .external").live(...)>
  3. 事件传播:
  4. 事件的行进路径最长的路径,导致处理速度较慢。 在防止下层处理程序发射时无效。 event.stopPropagation()
  5. >互动:
  6. > 删除所有unbind()>单击通过附加的操作者,可能会导致意外行为。 $(document).unbind("click") .live()
jquery

jQuery 1.7  .on() vs .live() Review

>将事件处理程序附加到选定的元素上,处理现有元素和未来元素。> .on()

.on()

密钥差异:

vs.jQuery 1.7  .on() vs .live() Review jQuery 1.7  .on() vs .live() Review

> .live().on()函数:

    级别附加事件,而
  • >允许在指定的祖先元素上更精确的事件委托。 用法:.live()核心差异在于参数顺序,而在document>中没有选择器参数:.on()>
  • > .live()性能:
明显胜过
$(selector).live(events, data, handler);                // jQuery 1.3+ (Deprecated)
$(document).delegate(selector, events, data, handler);  // jQuery 1.4.3+ (Deprecated)
$(document).on(events, selector, data, handler);        // jQuery 1.7+
,通常以3或4倍的倍数,如各种性能基准所证明的。
  • .on().live() jquery

.off()>删除事件处理程序,提供了与.on()的对应物。 它的功能与.unbind()类似,保持向后兼容性。 在jQuery 1.7及以后,.unbind()本质上是一个别名.off()>。

.bind() .on()>

在jQuery 1.7及以后,

.bind()>的别名。 .on()

>从

> >用.live()替换.on()。 注意更改的参数顺序。

常见问题(FAQS)$(selector).live(event, data, function)$(document).on(event, selector, data, function)>

>原始文本中提供的常见问题解答部分已经全面,并介绍了与

>和>有关的关键差异,迁移策略和绩效注意事项。 无需在这里复制它。

结论

.live() .on()

>和的转移是jQuery事件处理中的至关重要的升级。 >提供卓越的性能,灵活性和可维护性,使其成为现代jQuery开发的首选。

以上是jQuery 1.7 .on()vs .live()评论的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn