javascript-对于唯一的dom元素总是使用live()而不是bind()的缺点?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-对于唯一的dom元素总是使用live()而不是bind()的缺点?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1334字,纯文字阅读大概需要2分钟。
内容图文
在编写jQuery绑定事件时,我通常使用bind()别名(click(),submit()等).
但是,我使用动态生成的内容的次数越多,关于bind()何时不起作用的歧义就越多,最终调试了半个小时,直到尝试live()为止.
在ID选择器的参数内(例如,“#foo”,而不是.classes或元素(“ input”)):
除了缺少方便的别名之外,对于这些类型的绑定,仅始终使用live()而不是bind()是否有任何缺点,因为只能将一个DOM元素绑定到特定的ID?
===========
编辑:我不是在问bind()和live()之间的区别是什么;已经被覆盖了.我问的是默认情况下仅使用live()有什么弊端,因为这种诱惑是在您不会误选的情况下(例如,当您使用#uniqueDomElement时)这样做的,并且避免考虑当bind()不合适时.
解决方法:
.live()的主要缺点是重量(这在使用大量.live()处理程序时适用),因为它在文档上附加了事件处理程序,并且默认情况下事件在此处冒泡(其工作原理的整个基础),这意味着事件到达时文档必须检查的几件事:
>该事件类型是否有.live()个事件?
>如果我这样做,则事件来自的元素是否与那些.live()处理程序的选择器匹配?
第一个很便宜,第二个不是.让我们以最常见的示例click事件为例.点击事件起泡,到目前为止效果很好.假设我们有一个或多个.live()事件处理程序,用于在文档上注册的点击…现在我们必须遍历所有这些处理程序,并将它们的选择器与事件来自的元素进行比较,您拥有的处理程序越多,则其代价就越高每次点击都会发生,这是迄今为止.live()最高的性能损失.
还存在其他问题,例如附加/删除处理程序,但这是对处理程序的管理…将大量处理程序应用于上述性能问题是将其与直接.bind()调用进行比较时的主要问题.
内容总结
以上是互联网集市为您收集整理的javascript-对于唯一的dom元素总是使用live()而不是bind()的缺点?全部内容,希望文章能够帮你解决javascript-对于唯一的dom元素总是使用live()而不是bind()的缺点?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。