我需要创建一个验证,防止用户输入的文本框中的数字输入。我发现一些解决方案使用本机javascript,但它是不是在我这边的工作。
在我的文本框中有一个触发器
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();
}
}
你能帮我一下吗?
3条答案
按热度按时间2fjabf4q1#
正如我在评论中提到的那样,
keyup
的触发太晚,无法阻止值输入到输入字段中,例如,考虑按住某个键重复输入同一个值;没有键“向上”。请改用
keydown
或keypress
演示~ http://jsfiddle.net/wadt08jm/1/
iqjalb3h2#
mjqavswn3#
在Vue 3中,当输入类型为数字特征时,可通过使用指令修改输入元素的行为来关闭滚动更改。指令如下: