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

时间:2009-09-02 14:55:49

标签: javascript jquery events

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

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

2 个答案:

答案 0 :(得分:12)

  

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

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

  
      
  • 直播活动不以传统方式冒泡, 不能   停止使用stopPropagation (在jquery 1.4.4中已更改)或   stopImmediatePropagation。例如,   以两次点击事件为例 -   一个绑定到“li”和另一个“li a”。   是否应该在内部发生咔嗒声   将触发两个BOTH事件。   这是因为当一个   $(“li”)。bind(“click”,fn);受约束   你实际上在说“每当一个   在LI元素上发生click事件 -   或者在LI元素内 - 触发它   点击事件。“进一步停止   处理现场活动,fn必须   返回假。
  •   
  • 直播活动目前仅在针对选择器使用时才有效。对于   例如,这将起作用:$(“li   a。)。live(...)但这不会:   $(“a”,someElement).live(...)和   这不会:   $( “A”)。父()。住(...)。
  •   

答案 1 :(得分:2)

this

至于为什么你会使用click或bind而不是live,答案是因为你不需要额外的功能。