jsbin link:http://jsbin.com/axevid/2< - 使用Webkit浏览器(Chrome或Safari)打开
禁用常规按钮时,也会禁用所有事件。我为自定义按钮创建了自定义标记(项目要求的一部分)。但是,如何在禁用按钮时禁用绑定事件并在启用后将其恢复?
我正在使用Javascript MVC。我想我看到了一个禁用事件的功能,但我忘记了它的位置。
编辑:代码应该是一种插件,应该适用于所有自定义按钮。换句话说,我不想在每个绑定事件中包含if语句。有任何想法吗?感谢。
答案 0 :(得分:0)
创建控件时,还需要为要阻止的事件添加事件侦听器(可能是"click"
和"keypress"
)。然后,在处理程序中,如果您想阻止其他人看到该事件,请致电event. stopImmediatePropagation()
。
例如:
btn.addEventListener("click", function(event) {
if (btn.disabled) {
event.stopImmediatePropagation();
}
});
答案 1 :(得分:0)
这将有效:http://jsbin.com/axevid/3
我在以下部分做了更改:
$(document).delegate('abutton', 'click', function(e){
if($(this).attr('disabled')){
e.preventDefault();
return;
}
alert("Custom button");
});
答案 2 :(得分:0)
你的意思是(正如我从你的要求中所理解的)
$(function() {
$("abutton").each(function() {
if($(this).attr("disabled")) {
e.preventDefault();
return;
});
});