不能多次执行一个jQuery函数
Can't execute a jQuery function more than once
我有以下功能:
$('#edit').on("click", function () {
$('#edit').text('click1');
$('table a').click(function (e) {
e.preventDefault();
});
$('table a').css("cursor", "default");
}
});
$('#edit').click(function () {
$('#edit').unbind();
$('#edit-message-placeholder').empty();
$('#edit').text('click2');
$("table tbody").sortable("disable");
$('table a').unbind()
$('table a').css("cursor", "auto");
});
});
在第一次单击时,我希望它改变div#edit
的文本。在第二次点击时,它会将文本更改为其他内容。在第三次单击时,该函数的行为将像第一次单击一样。
我试着在网上寻找解决办法,但没有找到有用的。
问题是您处理这个问题的方法不正确。您不需要绑定/取消绑定事件处理程序。您只需要一个在功能上交替的事件处理程序:
JavaScript
var isOkay = true;
$("p").click(function () {
if (isOkay) {
$(this).text("1st click");
} else {
$(this).text("2nd click");
}
isOkay = !isOkay;
})