以下是编写事件处理程序的两种不同方式:
$('element').on("click",function(){
// do stuff
});
对比
$('element').click(function(){
// do stuff
});
两者之间的主要区别是什么?哪种情况比另一种更适合?
以下是编写事件处理程序的两种不同方式:
$('element').on("click",function(){
// do stuff
});
对比
$('element').click(function(){
// do stuff
});
两者之间的主要区别是什么?哪种情况比另一种更适合?
.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", ...)
click()是on()的便捷快捷方式。它与on()的唯一不同之处在于,如果您不带参数调用它,它将调用:
$(element).trigger('click');