我想在双击时使用javascript将已禁用属性从已禁用更改为已启用输入标记。
这可能吗?
感谢。
答案 0 :(得分:1)
是.disabled
document.getElementById("elementID").disabled = false;
或.removeAttr
document.getElementById("elementID").removeAttr("disabled");
小提琴:http://jsfiddle.net/CGy6j/
由于disabled
元素不会注册点击事件,请将input
包裹在span
中并对其执行逻辑:
<span id="wrapper"><input type="text" id="testInput" /></span>
var input = document.getElementById("testInput"),
fake = document.getElementById("wrapper");
fake.ondblclick = function() {
input.disabled = !input.disabled;
}
答案 1 :(得分:1)
现在有趣的是,禁用的元素不会触发鼠标事件,因此您无法向元素添加事件侦听器。您需要侦听DOM链上的双击事件。
<强> HTML:强>
<form id="frm">
<input type="text" id="foo" disabled="disabled" />
</form>
<强> JavaScript的:强>
document.getElementById("frm").ondblclick = function (evt) { //there are better ways of adding events
evt = evt || window.event;
var target = evt.target || evt.srcElement; //get what was clicked on
if (target.disabled) { //see if it was disabled
target.disabled = false;
}
};
现在问题不是所有的浏览器都会为残疾元素传播事件!
答案 2 :(得分:0)
<script>
function myFunction(){
document.getElementById("inField").removeAttribute('disabled');
}
</script>
<div ondblclick="myFunction();"><input id="inField" disabled=disabled/></div>