IE中的输入显示已禁用,但未禁用

mtm*_*ock 5 jquery internet-explorer-8 disabled-input

我的页面上有一个输入(按钮),如下所示:

<input id="the-button" type="submit" class="btn" value="Click me!">
Run Code Online (Sandbox Code Playgroud)

我正在覆盖表单提交操作,因此我可以在实际提交表单之前检查一些内容.在执行此操作之前,我禁用了该按钮,因此用户不会再次单击该按钮,因此他们可以看到该页面正在运行.

$("#the-button").attr("disabled", true);
Run Code Online (Sandbox Code Playgroud)

如果我决定不提交表单,我会重新启用该按钮.

$("#the-button").attr("disabled", false);
Run Code Online (Sandbox Code Playgroud)

这在Chrome/Firefox中按预期工作,但在IE8中按钮似乎已禁用,但您仍然可以单击它.期望的行为是启用,但它在IE中显示为灰色.

ᾠῗᵲ*_*ᵲᄐᶌ 7

如果您使用的是jQuery 1.6+,那么您应该使用.prop,因为'disabled'是元素的属性

$("#the-button").prop("disabled", true);
$("#the-button").prop("disabled", false);
Run Code Online (Sandbox Code Playgroud)

http://api.jquery.com/prop/