我试图取消绑定click
但没有成功。
这个想法是,在调用doUnbind()
方法时,它应该取消绑定click
事件,但它总是会让我进入“开启”事件
$(document).ready(function() {
$('#activeListing tbody').on('click', 'button.update', function() {
alert('clicked');
});
}
function doUnbind() {
$('#activeListing tbody').off('click', 'button.update', function () {
// should unbind but not working
});
}
答案 0 :(得分:3)
您正在尝试删除未添加的功能。您需要使用命名函数,以便告诉jQuery要删除哪个函数。
function addClick() {
alert('clicked');
}
$(document).ready(function() {
$('#activeListing tbody').on('click', 'button.update', addClick);
}
function doUnbind() {
$('#activeListing tbody').off('click', 'button.update', addClick);
}
您也可以一次删除所有事件侦听器,但请确保您确实要这样做:
function doUnbindAll() {
$('#activeListing tbody').off('click', 'button.update');
}
答案 1 :(得分:0)
使用事件命名空间:
$(document).ready(function() {
$('#activeListing tbody').on('click.update', 'button.update', function() {
alert('clicked');
});
}
function doUnbind() {
$('#activeListing tbody').off('click.update');
}