jQuery live()事件处理程序的性能

我正在考虑使用live()将事件处理程序绑定到我没有插入DOM的函数。 然而,这看起来很昂贵 – 必须在插入元素时或任何时候执行“click”元素时进行运行时检查,例如,查看是否应该调用处理程序。

这是否值得在实践中担心,或者Javascript现在这么快就值得关注?

live()函数的参考页面: http : //api.jquery.com/live/

不, .live()使用事件冒泡来做它的事情。 它只是附加到根元素并对通过DOM树冒泡的事件做出反应。 它不会一直检查DOM元素。

从您链接到的页面:

.live()方法能够通过使用事件委托来影响尚未添加到DOM的元素:绑定到祖先元素的处理程序负责在其后代上触发的事件。 传递给.live()的处理程序从不绑定到元素; 相反, .live()将一个特殊的处理程序绑定到DOM树的根。

随着它更详细地保持阅读。

您可能最好使用delegate() ,它不会在文档上附加处理程序,而是在指定的父元素上附加。 这意味着更少的负载。 建议在大多数情况下使用它代替.live()

关于Nettuts +的差异