回答
是與.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