jQuery禁用按钮不起作用

我曾经将事件绑定到我的按钮,如:

$("input[name=add]").live("click",function(){...}); 

但我有另一个function,使他们“启用”和“禁用”,如:

 RefreshBox() { $("input[name=add]").each(function(){ if(...) $(this).attr("disabled","disabled"); else $(this).attr("disabled",""); }) } 

但实际上它并不像我预期的那样有效。 按钮仍然可以点击,事件仍然可以顺利进行。

PS:jQuery 1.4.1浏览器:IE8,禁用按钮后仍可正常工作。 浏览器:Chrome,禁用按钮成功。

您将要使用prop函数而不是attr

 $(this).prop("disabled", true); 

 $(this).prop("disabled", false); 

编辑

OP正在使用jQuery pre 1.6.1,这就是为什么disabled attr工作不正常(对于较旧的IE)。 虽然propdisabled首选,但1.6.1 attr应该(并且确实)也可以。

尝试$("input[type=submit]").removeAttr("disabled"); 启用按钮。

您可以使用以下命令将’disabled’属性设置为false:

 $("input[name='add']").attr("disabled","disabled");