$input.disabled = true;
or
$input.disabled = "disabled";
哪一种是标准方式?相反,如何启用禁用的输入?
$input.disabled = true;
or
$input.disabled = "disabled";
哪一种是标准方式?相反,如何启用禁用的输入?
当前回答
<html>
<body>
Name: <input type="text" id="myText">
<button onclick="disable()">Disable Text field</button>
<button onclick="enable()">Enable Text field</button>
<script>
function disable() {
document.getElementById("myText").disabled = true;
}
function enable() {
document.getElementById("myText").disabled = false;
}
</script>
</body>
</html>
其他回答
我使用@gnarf答案并将其添加为函数
$.fn.disabled = function (isDisabled) {
if (isDisabled) {
this.attr('disabled', 'disabled');
} else {
this.removeAttr('disabled');
}
};
然后像这样使用
$('#myElement').disable(true);
只是为了新的惯例,并使其适应未来(除非ECMA6(????)发生了巨大变化):
$(document).on('event_name', '#your_id', function() {
$(this).removeAttr('disabled');
});
and
$(document).off('event_name', '#your_id', function() {
$(this).attr('disabled','disabled');
});
2018,无JQuery(ES6)
禁用所有输入:
[...document.querySelectorAll('input')].map(e => e.disabled = true);
禁用id=“my input”的输入
document.getElementById('my-input').disabled = true;
问题是JQuery,它只是仅供参考。
$("input")[0].disabled = true;
or
$("input")[0].disabled = false;
有许多方法可以使用它们来启用/禁用任何元素:
方法1
$("#txtName").attr("disabled", true);
方法2
$("#txtName").attr("disabled", "disabled");
如果使用jQuery 1.7或更高版本,请使用prop(),而不是attr()。
$("#txtName").prop("disabled", "disabled");
如果您希望启用任何元素,则只需执行与禁用该元素相反的操作即可。然而,jQuery提供了另一种删除任何属性的方法。
方法1
$("#txtName").attr("disabled", false);
方法2
$("#txtName").attr("disabled", "");
方法3
$("#txtName").removeAttr("disabled");
同样,如果使用jQuery 1.7或更高版本,请使用prop(),而不是attr()。这就是使用jQuery启用或禁用任何元素的方式。