我有一个输入,在执行某些条件时将其设置为禁用。 例如,我输入的默认值为20。
<input type='number' id='main' value='20'>
我已经在oninput事件中添加了以下代码:
var input=document.getElementById('main');
input.oninput=function(){
if(input.value>20){
input.disabled=true;
}
}
总的来说,当您按下增加按钮时,该值将在您向上按下之前增加。
在Chrome中,该值停止在预期的21。
答案 0 :(得分:2)
更改您的功能以监听onChange
而不是onInput
答案 1 :(得分:1)
使用“ onchange”代替“ oninput”。 希望对您有所帮助。
var input=document.getElementById('main');
input.onchange=function(){
if(input.value>20){
input.disabled=true;
}
}
答案 2 :(得分:0)
我猜是来自Firefox的相当奇怪的行为。
在输入重置mouseup事件之前,会触发input.disabled
。
因此,我在chrome和firefox中工作的解决方案是:
var input=document.getElementById('main');
input.onmouseup = function() {
if(input.value>20){
input.disabled=true;
}
}