在禁用输入框之前,并且输入框处于禁用模式时,onclick不会触发任何操作,我的代码才能正常运行。

很简单:)

的HTML:

<input id=toggleMe>


javascript:

var toggleMe=document.getElementById("toggleMe");

toggleMe.onclick=function(){if(toggleMe.disabled==false){toggleMe.disabled=true;}else{toggleMe.disabled=false;}}


jsfiddle:

https://jsfiddle.net/45cx6rwv/

最佳答案

您不能单击禁用的元素。您可以改用一个类,根据该类可以设置元素的readOnly属性:



document.getElementById('toggleMe').addEventListener('click', function(){
  this.classList.toggle("disabled");
  if(this.classList.value.includes('disabled')){
        this.readOnly = true;
    } else {
        this.readOnly = false;
    }
});

.disabled{
    background-color: #DDD;
    color: #999;
}

<input id="toggleMe">

08-16 12:21