jQuery似乎有一个启用功能,但没有禁用功能.为什么

jQuery seems to have an enable function, but not a disable function. Why?

本文关键字:功能 为什么 有一个 启用 jQuery      更新时间:2023-09-26

到目前为止,我一直使用以下方法来禁用/启用表单字段 -

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

这样就完成了工作。但是昨天,我心不在焉地输入了以下内容来启用该字段——

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

它奏效了!我默默地责备自己没有尝试 jQuery 中内置的方便的"启用"/"禁用"功能(或者我是这么认为的),并继续将要禁用的行更改为 -

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

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

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

我正在使用jQuery 1.6。

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

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

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

看起来它可以通过禁用插件获得。至于为什么它没有开箱即用,我只能假设它被省略了,因为该功能已经被.attr()

我已经

通读了jquery代码和文档,但找不到am启用函数的任何标记,您确定该框尚未启用吗?

我创建了一个jsfiddle来检查:

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

$(document).ready(function(){
    $("#textinput").enable();
});
<input id="textinput" type="text" disabled="disabled" />