在 jQuery 1.7 之后不推荐使用 live() 和 bind() 的原因是啥
Posted
技术标签:
【中文标题】在 jQuery 1.7 之后不推荐使用 live() 和 bind() 的原因是啥【英文标题】:What are the reasons that live() and bind() are deprecated post jQuery 1.7在 jQuery 1.7 之后不推荐使用 live() 和 bind() 的原因是什么 【发布时间】:2013-04-10 11:08:54 【问题描述】:在 jQuery 1.7 之后,.live()
和 .bind()
已弃用,取而代之的是 .on()
正在使用。这两个都是很棒的功能,就像魅力一样。删除的目的是什么?这背后的技术原因是什么?
为什么推荐使用.on()
?
【问题讨论】:
What's wrong with the jQuery live method?的可能重复 我最近经常这么说,但是bind()
不被弃用,unbind()
、delegate()
和undelegate()
也没有被弃用。建议改用on()
和off()
,但如果您想支持 1.7 之前的 jQuery 版本,您仍然可以使用“旧”方法。只有 live()
和 die()
被弃用,然后在 1.9 中被删除。
@MohammadAdil,我知道如何使用.on()
而不是.live()
。也许你还没有清楚地得到我的问题。
链接的问题确实回答了您对 IMO 提出的问题:“.on() 的另一个优点在于它简化了所有事件” 这就是为什么首选它的原因。所有事件处理都是统一的。
您只需要查看 jQuery 自己的 .live()
doco page 就可以了解它被弃用的原因。 (jQuery doco 是任何 jQuery 问题的第一站。)
【参考方案1】:
引用此article:
您不能将 live 用于可重复使用的小部件。
stopPropagate() 在直播中不起作用
直播速度较慢
Live 不可链接
【讨论】:
以上是关于在 jQuery 1.7 之后不推荐使用 live() 和 bind() 的原因是啥的主要内容,如果未能解决你的问题,请参考以下文章