一尘不染

使用 jQuery 禁用/启用输入?

javascript

$input.disabled = true;

或者

$input.disabled = "disabled";

哪个是标准方式?而且,相反,如何启用禁用的输入?


阅读 119

收藏
2022-02-07

共1个答案

一尘不染

jQuery 1.6+

要更改disabled属性,您应该使用该.prop()函数。

$("input").prop('disabled', true);
$("input").prop('disabled', false);

jQuery 1.5 及以下

.prop()功能不存在,但.attr()类似:

设置禁用属性。

$("input").attr('disabled','disabled');

要再次启用,正确的方法是使用.removeAttr()

$("input").removeAttr('disabled');

在任何版本的 jQuery

你总是可以依赖实际的 DOM 对象,如果你只处理一个元素,它可能比其他两个选项快一点:

// assuming an event handler thus 'this'
this.disabled = true;

使用.prop()or.attr()方法的好处是您可以为一堆选定的项目设置属性。


注意:在 1.6 中,有一个.removeProp()方法听起来很像removeAttr(),但它不应该'disabled'用于像 文档摘录这样的原生属性:

注意:请勿使用此方法删除本机属性,例如选中、禁用或选中。这将完全删除该属性,并且一旦删除,就不能再次将其添加到元素中。使用 .prop() 将这些属性设置为 false。

事实上,我怀疑这种方法有很多合法用途,布尔道具的完成方式是你应该将它们设置为 false 而不是像 1.5 中的“属性”对应物那样“删除”它们

2022-02-07