在jquery中委托()vs on()?

我知道delegate()和on()之间的区别,但是我怀疑on()非常流行并且比delegate(更快)更快,因为jquery没有从其库中删除delegate()

live()有缺点,然后从jQuery-1.9 version删除。 此外,如果我们看到on()和delegate()之间的性能,那么on()delegate()快得多。

那么在jQuery中保留delegate()的任何理由?

这是jQuery团队成员在2013年就此问题撰写的内容:

“我们没有弃用.bind.delegate ,我们也没有表明我们会在任何时候删除它们。

它们在源代码中只是一行,因此缩小尺寸并不是删除它们的理由。

我们弃用了.live因为它有很多我们无法解决的令人困惑的问题。“

基本上,虽然delegate()已被on()取代,但由于占用很少的空间(并且不会导致任何问题),因此没有将来弃用delegate()计划。

从文档 :

从jQuery 1.7开始,.delegate()已被.on()方法取代。

它只是遗留代码。 不要使用它。

我认为这更多地与他们是否想打破使用它的用户有关….在委派处理程序方面我没有看到他们之间的任何性能差异……

因此,建议新代码应使用.on()而不是.delegate

on意味着取代delegate 。 可能jquery作者可能会花一些时间来使它更加向后兼容。 许多旧插件仍然使用这些方法。 可能这可能是保留它的原因。

您可以在on()方法的帮助下执行事件绑定和委派。 只是语法不同。

只需访问此链接:

http://learn.jquery.com/events/handling-events/

他们用例子精美地解释了