javascript - 如何在vuejs中使用onkeypress

标签 javascript vue.js

我想阻止在 Vue 的输入中写入特殊字符。
首先,我做了一个如下所示的函数。

blockSpecialChar(e) {
      console.log(e.keyCode);
      const k = e.keyCode;
      return (
        (k > 64 && k < 91) ||
        (k > 96 && k < 123) ||
        k == 8 ||
        (k >= 48 && k <= 57)
      );
    }

我将它与下面的代码连接起来。

         <input
            type="test"
            placeholder="phone"
            v-model="pin.phoneNumber"
            v-on:keypress.prevent="blockSpecialChar(e)"
          />

但是当我输入时,它显示“e 未定义”。我怎样才能正确地做到这一点?非常感谢您的阅读。

最佳答案

传递方法时不需要传递参数,

<input
    type="test"
    placeholder="phone"
    v-model="pin.phoneNumber"
    v-on:keypress.prevent="blockSpecialChar"
/>

这段代码现在应该可以工作了

blockSpecialChar(e) {
      console.log(e.keyCode);
      const k = e.keyCode;
      return (
        (k > 64 && k < 91) ||
        (k > 96 && k < 123) ||
        k == 8 ||
        (k >= 48 && k <= 57)
      );
    }

关于javascript - 如何在vuejs中使用onkeypress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58010743/

相关文章:

javascript - 如何使用 jQuery 获取我们正在评论的帖子的 id

javascript - 模拟 node.js 模块

vue.js - 如何使用 vue 更新语义 ui 下拉列表?

vue.js - 验证为真后如何在vue js中隐藏错误消息?

javascript - createStackNavigator 不是一个函数

javascript - 将音位间隙转化为类固醇

javascript - 错误: Objects are not valid as a React child (found: Wed Nov 06 2019 19:50:56 GMT+0500 (Uzbekistan Standard Time))

vue.js - 运行 Jest 测试时出现意外 token 'import' 错误?

javascript - 未选中时,将对象作为绑定(bind)到数组属性的值的 VueJS 复选框不会脱离数组

javascript - Vue.js 过渡问题