【发布时间】:2011-01-02 15:45:47
【问题描述】:
我在这里和网络上的其他地方阅读了一些关于live() 和delegate() 之间区别的帖子。但是我还没有找到我正在寻找的答案(如果这是一个骗子,请告诉我)。
我知道live和delegate的区别在于live不能在链中使用。我还在某处读到delegate 在某些情况下更快(更好的性能)。
我的问题是,是否存在应该使用live 而不是delegate 的情况?
更新
我设置了simple test 来查看性能差异。
我还添加了新的.on(),它在 jQuery 1.7+ 中可用
结果几乎总结了答案中所述的性能问题。
- 不要使用
.live(),除非你的jQuery版本不支持.delegate()。 - 除非您的 jQuery 版本不支持
.on(),否则不要使用.delegate()。
.live() 和 .delegate() 之间的差异比 delegate() 和 .on() 之间的差异大很多。
【问题讨论】:
-
我冒昧地在一个地方总结了这篇优秀的帖子和其他有用的 cmets,以供我自己记录,以防其他人发现它有用。 JQuery live vs delegate vs bind
-
从 1.7 版开始,
.live()消失了。您将找到新的.on()方法。