【问题标题】:jQuery event handler differencesjQuery 事件处理程序差异
【发布时间】:2013-10-03 14:20:04
【问题描述】:

以下是编写事件处理程序的两种不同方式:

$('element').on("click",function(){
    // do stuff
});

$('element').click(function(){
    // do stuff
});

两者之间的主要区别是什么?哪种情况比另一种更适合?

【问题讨论】:

标签: javascript jquery events jquery-click-event


【解决方案1】:

According to jQuery's API documentation

.on() 方法将事件处理程序附加到 jQuery 对象中当前选定的元素集。从 jQuery 1.7 开始,.on() 方法提供了附加事件处理程序所需的所有功能。有关从旧的 jQuery 事件方法转换的帮助,请参阅 .bind()、.delegate() 和 .live()。要删除与 .on() 绑定的事件,请参阅 .off()。要附加只运行一次然后自行删除的事件,请参阅 .one()

.on(...) 函数利用了所有其他事件绑定机制。它应该始终有效。 According to jQuery's API documentation

此方法是前两个变体中 .on( "click", handler ) 和第三个变体中 .trigger( "click" ) 的快捷方式。当鼠标指针悬停在元素上时,点击事件被发送到元素,并且鼠标按钮被按下和释放。任何 HTML 元素都可以接收此事件。例如,考虑 HTML:

.click(...)element.on("click", ...) 的快捷方式

【讨论】:

    【解决方案2】:

    click()on() 的便捷快捷方式。它与 on() 的唯一不同之处在于,如果您不带参数调用它,它将调用:

    $(element).trigger('click');

    【讨论】:

      猜你喜欢
      • 2014-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-10
      • 2015-11-20
      • 2013-07-04
      • 2013-10-24
      • 1970-01-01
      相关资源
      最近更新 更多