如何使用自定义按钮标签模拟禁用按钮

How to simulate disabled button with custom button tag?

本文关键字:按钮 模拟 标签 自定义 何使用      更新时间:2023-09-26

jsbin链接:http://jsbin.com/axevid/2<-使用Webkit浏览器(Chrome或Safari)打开

当常规按钮被禁用时,所有事件也被禁用。我为自定义按钮创建了一个自定义标记(项目要求的一部分)。但是,我如何使它在按钮被禁用时禁用绑定事件,并在启用后将其恢复?

我使用的是Javascript MVC。我想我看到了一个函数,它禁用了事件,但我忘记了它在哪里。

EDIT:代码应该是一种插件,它应该适用于所有自定义按钮。换句话说,我不想在每个绑定事件中包含if语句。有什么想法吗?谢谢

创建控件时,还需要为要阻止的事件(可能是"click""keypress")添加事件侦听器。然后,在处理程序中,如果希望阻止其他人看到该事件,请调用event. stopImmediatePropagation()

例如:

btn.addEventListener("click", function(event) {
    if (btn.disabled) {
        event.stopImmediatePropagation();
    }
});

这将起作用:http://jsbin.com/axevid/3

我在以下部分做了更改:

$(document).delegate('abutton', 'click', function(e){
  if($(this).attr('disabled')){
    e.preventDefault();
    return;
  }
  alert("Custom button");
});

你的意思是(正如我从你的请求中所理解的)吗

$(function() {
$("abutton").each(function() {
if($(this).attr("disabled")) {
e.preventDefault();
return;
});
});