jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在jQuery中使用live而不是bind会对性能产生影响吗?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

发现了一些关于live和bind的问题,但没有一个是关于性能的.我认为标题很清楚,在jQuery中使用live会有性能影响吗?为什么我要问这是因为在使用live时每次事件被触发时都必须进行查找,我的想法是这可能会以负面的方式影响性能.或者jQuery正在做一些加速这个的神奇的东西,比如听一些东西被添加到DOM时被触发的事件?

最佳答案
通常,当您的站点上有许多需要具有事件处理程序的(…)元素时,使用.live()/ .delegate()具有更好的整体性能.

将50x事件处理程序绑定到50个不同节点比将这些事件处理程序绑定到这50个元素的公共父级(基本上就是.live()所做的更为昂贵).

现在有人可能会争辩说,“好吧,很棒,但这会伴随着高架事件冒泡”,这绝对是正确的.这就是为什么.delegate()被引入的原因. .live()总是将处理程序绑定到document.body,它显然是标记中任何子节点的父级.然而,.delegate()接受一个参数,您可以在其中指定“最小公分母”,这意味着您希望拥有事件处理程序的那些元素共享的最近的父节点.这实际上将开销减少到零.

我不得不承认,我从未进行过基准测试,但在这一点上使用“实时绑定”是有意义的.但是,一旦你有多个元素绑定处理程序,它就有意义了.只有一个功能而不是N的事实对我来说似乎很方便.

大佬总结

以上是大佬教程为你收集整理的在jQuery中使用live而不是bind会对性能产生影响吗?全部内容,希望文章能够帮你解决在jQuery中使用live而不是bind会对性能产生影响吗?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。