javascript - 使用按钮通过 JavaScript 切换文本框的状态

标签 javascript jquery html state

我有一个表格如下:

<form>
<label for="input">Input:</label>
<input type="text" id="input" maxlength="3"></input>
<button type="button" id="lock" onMouseDown="toggleInput()"></button>
</form>

和 JavaScript 代码:

function toggleInput(){
    if ($("#input").disabled){
        $("#input").disabled = false;
    }
    else {
        $("#input").disabled = true;
    };
}

我基本上想做的是检查文本框所处的状态(启用/禁用),然后相应地切换状态。我不知道 javascript 部分是否使用正确的语法来检查文本框是否被禁用,但这就是我能想到的。

提前致谢!

编辑:我选择使用 onmousedown 而不是 onclick 来使用按钮执行事件的原因:

我选择使用 onmousedown 而不是 onclick,因为它使我正在构建的应用程序感觉不那么笨重,因为 onclick 具有此功能:当您单击按钮,然后将光标从按钮上拖动时,按住鼠标按钮,然后当光标位于网页上远离按钮的区域时将手指从鼠标按钮上移开,该事件将不会执行。因此,我选择使用 onmousedown 来克服这个问题。

最佳答案

使用.prop() , 获取匹配元素集中第一个元素的属性值或为每个匹配元素设置一个或多个属性

 $("#input").prop('disabled',!$("#input").prop('disabled'))

DEMO

我不确定您为什么使用onMouseDown。使用点击代替

$("#lock").on("click", function() {
    $("#input").prop('disabled',!$("#input").prop('disabled'))
});

DEMO with click

关于javascript - 使用按钮通过 JavaScript 切换文本框的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20423750/

相关文章:

javascript - 使我的 Zopim 聊天脚本在新窗口中打开

javascript - 下划线模板无法访问数据模型

javascript - var $this = this 的原因是什么

javascript - 如何在 Plottable.js 多图中显示图例

javascript - 将 Singleton JS 对象转换为使用 ES6 类

c# - 在 Razor 应用程序中将 View 显示为灯箱

javascript - 为什么这不会导致浏览器重定向?

javascript - 基于另一个复选框复制复选框组的状态

jquery - 将文本右对齐

javascript - jQuery sortable 将内容下推