我使用的是考虑到live()
绑定的事件处理程序我还没有插入到DOM的功能。 然而,这看起来昂贵的 - 它必须要做的运行时检查的元素插入的任何时间,或执行“点击”元素的任何时间,例如,看处理程序是否应该被调用。
这是不是值得担心在实践中,或者是使用Javascript如此之快,现在,这是不值得关心?
为参考页live()
函数: http://api.jquery.com/live/
我使用的是考虑到live()
绑定的事件处理程序我还没有插入到DOM的功能。 然而,这看起来昂贵的 - 它必须要做的运行时检查的元素插入的任何时间,或执行“点击”元素的任何时间,例如,看处理程序是否应该被调用。
这是不是值得担心在实践中,或者是使用Javascript如此之快,现在,这是不值得关心?
为参考页live()
函数: http://api.jquery.com/live/
不, .live()
使用事件冒泡做它的事。 它只是附着在根元素和反应事件通过DOM树冒泡。 它没有继续检查DOM元素的所有时间。
从一页面链接到:
该
.live()
方法能够影响尚未通过使用事件代表团添加到DOM元素:绑定到一个祖先元素的处理程序是负责被其后代触发的事件。 传递给处理程序.live()
是从来没有绑定到一个元素; 相反,.live()
结合一种特殊的处理程序,以对DOM树的根。
保持这里看书,因为它进入更多细节。
你可能会更好使用delegate()
它不重视对文档的处理程序,但指定的父元素。 这意味着更少的负载。 它建议用它代替的.live()
在大多数情况下。
关于NETTUTS的差异+