聆听'点击' type =" number"的输入元素上的事件如果bin/rails db:migrate
大于某个值,我想阻止输入增加。
我使用了e.currentTarget.value
,但输入继续增加值。我也尝试e.preventDefault()
,输入继续增加值。我也检查e.stopImmediatePropagation()
的值,这是真的。此外,在记录事件时,属性e.cancelable
和isDefaultPrevented
都是正确的。
我尝试的另一个解决方案是将输入的值设置回旧值,然后在瞬间将其更改,这是不合需要的。
有谁知道为什么会这样?
isPropagationStopped
答案 0 :(得分:0)
input type="number" has max and min attribute that can be set, you can set the max attribute to constrain the element from increasing beyond a specified number. This can be achieved using HTML as below
<input id="quantity" type="number" name="quantity" min="0" max="100" >
You can also update the max attribute on the fly using javascript (for example the javascript code below changes max to 90)
document.getElementById("quantity").setAttribute("max",90);
Consider the third option below
<input type="number" name="quantity" id="quantity" />
<script>
var myinput = $("#quantity")
myinput.on('input',restrictMax)
function restrictMax(){
//set Maximum to 5
var max = 5;
var value = parseFloat($(this).val())
if($(this).val() > max){
$(this).val(max)
}
}
</script>
You can also check the JSFiddle
希望这有帮助