jQuery似乎有一个启用功能,但不是一个禁用功能。为什么?

时间:2011-05-10 18:34:22

标签: javascript jquery

到目前为止,我使用以下内容来禁用/启用表单字段 -

$('#fieldid').attr('disable','disable');
$('#fieldid').removeAttr('disable');

这就完成了工作。但昨天,我心不在焉地输入以下信息来启用该字段 -

$('#fieldid').enable();

它有效!我默默地踢了自己,因为我没有尝试jQuery中内置的“启用”/“禁用”功能(或者我认为),并继续将行更改为禁用 -

$('#fieldid').disable();

令我惊讶的是,这不起作用。

我错过了什么吗?为什么定义了enable()函数但是disable()函数不是?甚至更奇怪,我在jquery文档中没有提到enable()或disable()。有没有人有任何解释?

我正在使用jQuery 1.6。

3 个答案:

答案 0 :(得分:4)

jQuery不支持开箱即用的enable()方法(并且disable HTML属性也不存在,但这可能只是您问题中的拼写错误。)

也许您正在使用提供该功能的插件?如果是这种情况,请尝试将false传递给enable()方法以禁用字段:

$('#fieldid').enable(false);

答案 1 :(得分:1)

看起来可以通过disable plugin获取。至于为什么它不是开箱即用的,我只能假设它被遗漏了,因为.attr()已经涵盖了功能

答案 2 :(得分:1)

我已经阅读了jquery代码和文档,但找不到am enable函数的任何标记,你确定该框还没有启用吗?

我创建了一个jsfiddle来检查:

http://jsfiddle.net/Zy3tW/1/

$(document).ready(function(){
    $("#textinput").enable();
});

<input id="textinput" type="text" disabled="disabled" />