【发布时间】:2018-03-20 05:52:09
【问题描述】:
我尝试这样:
<template>
...
<input type="number" class="form-control" v-model="quantity" min="1" v-on:keyup="disableDot">
...
</template>
<script>
export default{
...
methods:{
disableDot: function(evt) {
evt = (evt) ? evt : window.event
let charCode = (evt.which) ? evt.which : evt.keyCode
if (charCode === 190) {
evt.preventDefault()
}
else {
return true;
}
}
}
}
</script>
如果代码执行后我输入点(.),它仍然可以
我想禁用点。所以用户不能输入点
我该怎么做?
【问题讨论】:
-
你应该使用正则表达式验证。
-
您可以check here,允许输入所需的字符。对于 html5 使用
pattern[0-9]和 replace method -
只需使用
v-on:keydown而不是keyup。除此之外,您的代码很好 -
@Phil,
v-on:keydown在移动设备中无法正常工作。在移动端,它仍然可以输入点。不应该 -
@Yash,
keydown在移动设备中无法正常工作。pattern不工作在input type number
标签: javascript vue.js vuejs2 vue-component vuex