2011-12-31 30 views
3

为什么jQuery不允许click(),bind()和类似的函数自动工作“live”?为什么jQuery不能自动使所有的功能“实时”?

为什么我需要使用live("click", functi...如果我想让它工作"live"而不是click(function()...?活着需要更多资源吗?

+2

哦,我想,因为理智认为浏览器需要知道什么时候需要响应, t“willy-nilly-event-o-rama”。 ['.live()'](http://api.jquery.com/live/)方法对'document'的更改进行操作,因此您更具体(而不是每个“事件”) ,最终的事件处理越“高效”。 – 2011-12-31 02:55:37

+1

'.live()'是事件代表团。这将使得页面上的每个事件都针对为该事件提供的每个选择器进行测试。这会很糟糕,这就是为什么'.live()'不好*(和不建议使用)*的原因。 – 2011-12-31 02:56:57

回答

7

有趣的你应该问这个问题。有人写了一整篇文章回答你的问题:
http://www.ultimatewebtips.com/why-jquery-live-is-a-bad-option-to-use/

表面上现场和委托似乎可以互换。但是,它们不是 。 Live有几个严重的缺点,不应该使用 ,本文将解释原因。

的概括总结为:

  1. 你不能使用可重复使用的部件
  2. stopPropagate()在现场
  3. 直播不起作用较慢
  4. 直播ISN” t可链接
+2

答案应该包含被链接的文章的要点(可能只是将该页面的编号大纲撕掉)。肯定值得一提upvote一旦你补充说:) – 2011-12-31 03:01:46

+0

谢谢@ MerlynMorgan-Graham。我学会了如何每天提高我的答案! – 2011-12-31 03:07:06

相关问题