我要附加一个点击事件的一个按钮元素,然后删除它,但我不能取消选()或unbind()事件(s)工作的预期。在代码下面,按钮是棕褐色的颜色和击事件的工作。

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

我怎么可以删除的事件从我的元素呢?

有帮助吗?

解决方案

没有 unclick()这样的东西。你从哪里得到的?

您可以通过调用unbind:

从元素中删除单个事件处理程序
$("#startButton").unbind("click", process_click);

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

$("#startButton").unbind("click");

其他提示

或者你可能会在你使用它之后想要取消绑定点击功能,就像我不得不这样:

$('#selector').click(function(event){
    alert(1);
    $(this).unbind(event);
});

unbind是你的朋友。

$("#startButton").unbind('click')

你确定你想要解除它吗?如果以后你要结合这一次,又一次,又一次?我不喜欢动态事件处理bind/解除,因为他们往往得到出,当被称为从不同的代码。

你可能希望考虑替代选项:

  • 改变的按钮"残疾人"的财产
  • 实现你的逻辑内"process_click"功能

只是我的2美分,而不是一个普遍适用的解决办法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top