jQuery的.live('click',fn)和.click(fn)之间的性能差异

Mik*_*ike 16 javascript jquery events

我喜欢jQuery 1.3中的新直播活动.我的问题是这次活动的表现.我知道使用直播点击/绑定('点击')的优点,但使用它而不是点击/绑定('点击')会有性能影响吗?

如果没有,为什么你会使用点击或绑定('点击')?

Pet*_*ley 12

如果没有,为什么你会使用点击或绑定('点击')?

因为$ .live()有一些明显的缺点

  • 直播活动不以传统方式冒泡,无法使用stopPropagation (在jquery 1.4.4中更改)或stopImmediatePropagation停止.例如,假设有两个点击事件 - 一个绑定到"li",另一个绑定到"li a".如果内部锚点发生咔嗒声,将触发BOTH事件.这是因为当$("li").bind("click",fn); 您实际上是在说"只要在LI元素上发生click事件 - 或者在LI元素内部 - 触发此单击事件." 要停止对直播事件的进一步处理,fn必须返回false.
  • 直播活动目前仅在对选择器使用时才有效.例如,这将起作用:$("li a").live(...)但是这不会:$("a",someElement).live(...),这也不会:$("a ").parent().住(...).

  • live()支持自1.4.4以来的stopProgation (6认同)