2016-12-16 101 views
1

我想啓用/禁用沒有jQuery的按鈕。這裏是我的代碼:啓用/禁用純javascript中的按鈕

btn.setAttribute("disabled", true); 

工程。但這並不 - 一個按鈕保持禁用:

btn.setAttribute("disabled", false); 
+0

可能重複[javascript移除「禁用」屬性到html輸入](http://stackoverflow.com/questions/11719961/javascript-remove-disabled-attribute-to-html-input) – Xufox

回答

6

殘疾人是一個布爾屬性,它的存在本身引起的元素,而無論什麼該屬性的值實際上是禁用的。

在HTML中,你甚至不會需要設置一個價值可言:

<input type="button" value="I'm disabled" disabled>

這就是爲什麼你可以通過它的值設置爲禁用JavaScript中的元素true,你可以將它設置爲任何東西(這就是爲什麼當你將其設置爲false時它仍然是禁用的),但是具有布爾屬性的推薦約定(如果你想爲該屬性提供值)是設置它們值等於屬性名稱本身。

<input type="button" value="I'm disabled" disabled="doesn't matter"> 
 
<input type="button" value="I'm disabled" disabled="disabled">

因此,在JavaScript中禁用元素:

element.setAttribute("disabled", "disabled"); 

要啓用一個元素,你不要設置disabled屬性爲任意值,爲您免除殘疾人完全屬性:

element.removeAttribute("disabled"); 

MDN

爲了使元件,完全離開該屬性出相對於 值設置爲false

2
btn.removeAttribute("disabled");