在jQuery中,我应该选择live(), delegate()还是on()



我已经阅读了关于事件处理的jQuery文档,但是我仍然不能真正理解我应该做什么。

我有一个移动应用程序,其中的内容是用ajax加载的,所以事件不能绑定在文档onLoad的内容。

随着应用程序的增长,我现在开始担心错误的事件处理可能会导致性能问题。

选择on()、live()和delegate()对性能的影响是什么?

还有什么要考虑的吗?

从jQuery 1.7开始,绑定事件的官方(也是最高效的)方式是.on.off。当与基于id的选择器结合时,它是最快的:

$('#id').on('click', myHandler);

.on取代.live.delegate.bind,查看更多信息:

http://blog.jquery.com/2011/11/03/jquery-1-7-released/

从jQuery 1.7开始,建议所有新代码都使用on()off()来处理所有事件。

http://blog.jquery.com/2011/11/03/jquery-1-7-released/

从jQuery 1.7开始,jQuery团队/API建议:

[the] .live()方法已弃用。使用.on()来附加事件处理程序。使用旧版本jQuery的用户应该优先使用。delegate(),而不是。live()。

参考:live() API参考,网址:http://api.jquery.com/live/

所以选择,后jQuery 1.7,是on()delegate()之间;上面的建议似乎建议您应该优先使用.on()而不是delegate()。虽然我不能争论为什么是

如果您正在为自己或自己的产品创建javascript应用程序,您应该使用jQuery 1.7和.on()方法。

如果你正在做一些插件,可以在旧版本上使用,我会使用.delegate()

相关内容

  • 没有找到相关文章

最新更新