0

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

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

对比

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

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

4

2 回答 2

1

根据 jQuery 的 API 文档

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

.on(...)函数利用所有其他事件绑定机制。它应该始终有效。根据 jQuery 的 API 文档

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

.click(...)是一个捷径element.on("click", ...)

于 2013-10-03T14:21:49.040 回答
0

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

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

于 2013-10-03T14:26:48.100 回答