我曾经将事件绑定到我的按钮,如:
$("input[name=add]").live("click",function(){...});
但我有另一个功能让他们“启用”和“禁用”,如:
RefreshBox() {
$("input[name=add]").each(function(){
if(...)
$(this).attr("disabled","disabled");
else
$(this).attr("disabled","");
})
}
但事实上它并没有像我预期的那样奏效。按钮仍然可以点击,事件仍然可以顺利进行。
PS: jQuery 1.4.1 浏览器:IE8,禁用按钮后仍可正常工作。 浏览器:Chrome,禁用按钮成功。
答案 0 :(得分:44)
您希望使用prop功能代替attr
:
$(this).prop("disabled", true);
和
$(this).prop("disabled", false);
修改强>
OP正在使用jQuery pre 1.6.1,这就是为attr
disabled
工作不正常(对于较旧的IE)的原因。虽然prop
首选disabled
,但1.6.1 attr
后应该(并且确实)也可以。
答案 1 :(得分:5)
尝试$("input[type=submit]").removeAttr("disabled");
启用按钮。
答案 2 :(得分:3)
您可以使用以下方法将“disabled”属性设置为false:
$("input[name='add']").attr("disabled","disabled");