【发布时间】:2019-02-16 05:38:13
【问题描述】:
在这里,我尝试使用 Java Script 启用和禁用我的文本框。但我的代码在禁用但无法恢复启用状态的情况下工作正常。我在下面添加了我的 sn-p。在这里我使用了以下JS 查询为目的。
getElement(elm).setAttribute("disabled", true);
getElement(elm).setAttribute("disabled", false);
JS 尝试
/*----------FUNCTION TO GET AN ELEMENT BY ID-------------------*/
function getElement(elm){
var elem = document.getElementById(elm);
return elem;
}
//==============================================================//
/*-------------FUNCTION TO DISABLE A TEXT BOX-------------------*/
function disable(elm){
return getElement(elm).setAttribute("disabled", true);
}
//==============================================================//
/*--------------FUNCTION TO ENABLE A TEXT BOX------------------*/
function enable(elm){
return getElement(elm).setAttribute("disabled", false);
}
getElement("button").addEventListener("click",function(){
disable("text-box2");
});
getElement("button2").addEventListener("click",function(){
enable("text-box2");
});
<input type="text" id="text-box1"/>
<input type="text" id="text-box2"/>
<button id="button">disable</button>
<button id="button2">enable</button>
CSS 解决方案
这里我有一个使用css 的解决方案,它工作正常。在这种方法中,我们使用css 属性pointer-events: none 来伪造指针。
/*----------FUNCTION TO GET AN ELEMENT BY ID--------------------*/
function getElement(elm){
var elem = document.getElementById(elm);
return elem;
}
//==============================================================//
/*-------------FUNCTION TO DISABLE A TEXT BOX-------------------*/
function disable(elm){
return getElement(elm).classList.add("disable");
}
//==============================================================//
/*--------------FUNCTION TO ENABLE A TEXT BOX-------------------*/
function enable(elm){
return getElement(elm).classList.remove("disable");
}
getElement("button").addEventListener("click",function(){
disable("text-box2");
});
getElement("button2").addEventListener("click",function(){
enable("text-box2");
});
.disable{
pointer-events: none ! important;
opacity: 0.4 ! important;
}
<input type="text" id="text-box1"/>
<input type="text" id="text-box2"/>
<button id="button">disable</button>
<button id="button2">enable</button>
但我想要一个没有css 的解决方案。没有css有没有可能的解决方案?
【问题讨论】:
标签: javascript html textbox disabled-input