这只确保没有附加其他click
事件侦听器。因此,您的处理程序将是唯一在单击#myButton
编辑:正如@TJ Crowder 在评论中指出的那样,unbind()
不会影响以不同于调用的方式附加的处理程序bind()
。
还值得注意的是:
从 jQuery 1.7 开始,首选 .on() 和 .off() 方法来附加和删除元素上的事件处理程序
(摘自jQuery.unbind() 文档)。其实是通过方法unbind()
内部实现off()
的)。
考虑:
$("#myButton").bind('click', function () {
console.log('click 1');
});
$("#myButton").unbind('click').bind('click', function () {
console.log('click 2');
});
// When clicked, prints "click 2"
相对:
$("#myButton").bind('click', function () {
console.log('click 1');
});
// note: no unbind here
$("#myButton").bind('click', function () {
console.log('click 2');
});
// When clicked, prints "clicked 1" followed by "clicked 2"