回答
是与.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;
}
我不明白为什么这是downvoted,但它很有趣,+10好友 – pythonian29033
只有答案一半是问题,另一半是回答难的部分。 – epascarello
(din't downvote)但'.removeAttr()'不应该是'removeAttribute()'? –
好的,所以使用tymeJVs与这个事件“ondblclick”一起回答,你会使用类似这样的东西;
<script>
function myFunction(){
document.getElementById("inField").removeAttribute('disabled');
}
</script>
<div ondblclick="myFunction();"><input id="inField" disabled=disabled/></div>
无法工作 - 禁用的元素不会注册点击事件。你需要一个隐藏的输入覆盖注册 – tymeJV
感谢您的意见tymeJV – pythonian29033
现在,这里的乐趣是,禁用的元素不火鼠标事件,所以你无法将事件监听器添加到元素。您需要监听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;
}
};
现在的问题是,不是所有的浏览器甚至传播完成了禁用的元素的事件!
谢谢。这看起来有希望。有可能使用类名来代替ID? – user2120666
是的,你可以。 'document.getElementsByClassName( “theClass描述”)[0] .ondblclick' – epascarello
- 1. 如何在C中更改输入标签的属性#
- 2. 如何更改simple_form输入html标记
- 3. 如何使用ngTagsInput将禁用的属性添加到输入标记?
- 4. 更改输入name属性
- 5. 更改输入标记
- 6. 利用用户输入更改属性
- 7. 根据用户输入更改属性
- 8. 如何更改使用Angular 2的按钮单击上的输入标签的禁用属性
- 9. 属性不会更新输入更改
- 10. 在JTextPane中,如何更改输入元素的值属性?
- 11. 如何更改jquery中所有表单输入的属性?
- 12. 如何禁用输入的记忆值?
- 13. 如何使用JavaScript更改输入名称属性值
- 14. 如何更改特定XAML标记的属性值,WPF
- 15. 如何在Firefox中更改禁用输入的字体颜色
- 16. 如何获取被禁用的输入的'value'属性的值
- 17. 如何使用C++获取输入标记中的属性值的文本?
- 18. 如何更改输入框的值属性的HTML?
- 19. 如何更改使用css禁用属性时的颜色?
- 20. 用readonly属性更改所有输入为禁用,而不是使用jQuery
- 21. Angular 2:如何检测组件上输入属性的属性更改?
- 22. 如何获取已更改输入的属性?
- 23. 如何获取已更改输入的属性值?
- 24. 如何更改输入标记对addEventListener('change')的响应?
- 25. jQuery的 - 如何更改输入选择器与ID标记
- 26. 如何更改元素标记而不会丢失属性
- 27. 如何在使用jQuery的输入字段中更改非HTML属性的值?
- 28. 如何禁用onClick的默认按钮颜色更改属性
- 29. 如何禁用或重置其属性内的值已更改
- 30. 如何在更改UIView的transform属性时禁用动画?
是的,这是非常可能的。获取元素(通过id,class,等等),并适当地设置它的'disabled'属性。您还可以使用多种方式侦听事件,特别是双击事件。到目前为止,你尝试了什么? – Ian
@Ian,你确定...;) – epascarello
我没有使用css的经验,我只知道winapi,但对于项目我是工作,有些代码使用IE渲染引擎。 – user2120666