我想啟用/禁用一個沒有jquery的按鈕。這是我的代碼:
btn.setAttribute("disabled", true);
作品。但這不會——一個按鈕保持禁用狀態:
btn.setAttribute("disabled", false);
disabled是一個布爾屬性。它的存在會導致元素被禁用,而不管該屬性的值實際上是什么。這就是為什么您能夠在JavaScript中通過將屬性設置為true來禁用元素,您可以將它設置為任何值(這就是為什么當您將它設置為false時,它會保持禁用狀態)。
<input type="button" value="I'm disabled" disabled="true">
<input type="button" value="I'm disabled" disabled="false">
<input type="button" value="I'm disabled" disabled="doesn't matter">
<input type="button" value="I'm disabled" disabled="">
function getElement(elm){
return document.getElementById(elm);
}
/*-------------FUNCTION TO DISABLE AN TEXT BOX------------------*/
function disable(elm){
return getElement(elm).setAttribute("disabled", true);
}
//==============================================================//
/*--------------FUNCTION TO ENABLE AN TEXT BOX------------------*/
function enable(elm){
return getElement(elm).removeAttribute("disabled");
}
//==============================================================//
function disableEnable(){
if(getElement("button").disabled){
enable("button");
enable("input-button");
}
else{
disable("button");
disable("input-button");
}
}
<button id="button">Button</button>
<input id="input-button" type="button" value="Input Button"/>
<br/><br/><br/>
<button onClick="disableEnable();"> Disable/Enable Buttons Above</button>
值得注意的是,前段時間已經添加了toggleAttribute方法,所以可以保持它稍微簡潔一點:
document.getElementById('toggle').addEventListener('click', event => {
document.getElementById('btn').toggleAttribute('disabled');
});
<button type="button" id="btn">button</button>
<button type="button" id="toggle">toggle</button>
這是完全有效的,正如您所期望的那樣工作——也就是說,不像公認的答案建議的那樣,在設置為true時禁用元素。
上一篇python 用畫c
下一篇python 畫圖樣式