jQuery live()事件处理程序的性能
我正在考虑使用live()
将事件处理程序绑定到我没有插入DOM的函数。 然而,这看起来很昂贵 – 必须在插入元素时或任何时候执行“click”元素时进行运行时检查,例如,查看是否应该调用处理程序。
这是否值得在实践中担心,或者Javascript现在这么快就值得关注?
live()
函数的参考页面: http : //api.jquery.com/live/
不, .live()
使用事件冒泡来做它的事情。 它只是附加到根元素并对通过DOM树冒泡的事件做出反应。 它不会一直检查DOM元素。
从您链接到的页面:
.live()
方法能够通过使用事件委托来影响尚未添加到DOM的元素:绑定到祖先元素的处理程序负责在其后代上触发的事件。 传递给.live()
的处理程序从不绑定到元素; 相反,.live()
将一个特殊的处理程序绑定到DOM树的根。
随着它更详细地保持阅读。
您可能最好使用delegate()
,它不会在文档上附加处理程序,而是在指定的父元素上附加。 这意味着更少的负载。 建议在大多数情况下使用它代替.live()
。
关于Nettuts +的差异