答案 0 :(得分:4)
$(el).on
为开发人员提供了一种统一方式来绑定任何事件类型,直接事件和委托事件的事件。它还允许您通过传递对象来同时绑定多个事件(documentation中的第二个示例)
您还可以保存一些按键,以获得它的价值。
答案 1 :(得分:2)
使用.on()
,您可以同时绑定多个事件类型,因此如果您想对多个事件执行相同的操作,则不必重复代码或创建单独的函数。
答案 2 :(得分:2)
$(el).click(...)
是$(el).bind('click', ...)
的简写。如果您将documentation for bind()
与documentation for on()
进行比较,则会看到许多差异。
bind()
文档的第一段很好地总结了这一点:
从jQuery 1.7开始,.on()方法是首选方法 将事件处理程序附加到文档。对于早期版本, .bind()方法用于直接将事件处理程序附加到 元素。处理程序附加到当前选定的元素中 jQuery对象,因此这些元素必须存在于调用点 到.bind()发生。有关更灵活的事件绑定,请参阅讨论 .on()或.delegate()中的事件委托。
答案 3 :(得分:1)
我理解新.on()
是.bind()
,.delegate()
和.live()
中有些重复功能的合并。它既是API的合并,也是将实现组合成更统一的实现。
答案 4 :(得分:0)
在我看来它正在上演组合/替换各种其他事件绑定功能......一个功能将它们全部绑定! (LOTR geekery ftw)