Javascript 如何使用VueJS防止数字输入
我需要创建一个验证,防止用户在文本框中输入数字输入。我找到了一些使用本机javascript的解决方案,但它对我来说不起作用 在我的文本框中有一个触发器Javascript 如何使用VueJS防止数字输入,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我需要创建一个验证,防止用户在文本框中输入数字输入。我找到了一些使用本机javascript的解决方案,但它对我来说不起作用 在我的文本框中有一个触发器 v-on:keyup="preventNumericInput($event)"> 在我的Vue上,我在我的类上创建了一个函数 preventNumericInput($event) { console.log($event.keyCode); //will display the keyCode value cons
v-on:keyup="preventNumericInput($event)">
在我的Vue上,我在我的类上创建了一个函数
preventNumericInput($event) {
console.log($event.keyCode); //will display the keyCode value
console.log($event.key); //will show the key value
var keyCode = ($event.keyCode ? $event.keyCode : $event.which);
if (keyCode > 47 && keyCode < 58) {
$event.preventDefault();
}
}
preventNumericiInput($event){
console.log($event.keyCode);//将显示keyCode值
console.log($event.key);//将显示键值
var keyCode=($event.keyCode?$event.keyCode:$event.which);
如果(键码>47和键码<58){
$event.preventDefault();
}
}
你能帮我一下吗?正如我在评论中提到的,
keyup
启动太晚,无法将值输入到输入字段中。例如,考虑按住一个键反复输入相同的值;没有钥匙
相反,请使用keydown
或keypress
<input @keypress="preventNumericInput">
演示~试试这个:你真的应该观察输入并对数字输入做出反应。或者,您可以使用oninput
keyup
来捕获事件,因为它可能太晚了。试试keydown
或keypress
为什么不使用?