事件处理jQuery取消选()和unbind()活动?
-
02-07-2019 - |
题
我要附加一个点击事件的一个按钮元素,然后删除它,但我不能取消选()或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美分,而不是一个普遍适用的解决办法。
不隶属于 StackOverflow