事件处理jQuery unclick()和unbind()事件?

Edw*_*uay 8 javascript css jquery event-handling

我想将一个click事件附加到一个按钮元素,然后将其删除,但我无法使unlick()或unbind()事件按预期工作.在下面的代码中,按钮为"棕褐色",点击事件有效.

window.onload = init; 
function init() {
    $("#startButton").css('background-color', 'beige').click(process_click);
    $("#startButton").css('background-color', 'tan').unclick();
}
Run Code Online (Sandbox Code Playgroud)

如何从元素中删除事件?

Jim*_*Jim 19

没有这样的事情unclick().你从哪里得到那个的?

您可以通过调用unbind从元素中删除单个事件处理程序:

$("#startButton").unbind("click", process_click);
Run Code Online (Sandbox Code Playgroud)

如果要删除所有处理程序,或者使用匿名函数作为处理程序,则可以省略第二个参数unbind():

$("#startButton").unbind("click");
Run Code Online (Sandbox Code Playgroud)

  • 谢谢(你的)信息.我挖得更深一些,发现在jQuery 1.1中删除了unclick(). (2认同)

小智 6

或者你可能会在你使用它之后想要取消绑定点击功能的情况,就像我必须:

$('#selector').click(function(event){
    alert(1);
    $(this).unbind(event);
});
Run Code Online (Sandbox Code Playgroud)