安卓版 Chrome 浏览器无法通过 preventDefault 实现禁止在 <input> 中输入特定字符?

设想在 <input> 中通过监听 keydown 事件,判断事件参数对象的 keyCode ,进而调用 preventDefault() 阻止非法字符的输入。

示例代码:

<input type="text" @keydown.prevent="handleKeydown">
<p ref="box"></p>
handleKeydown(event) {
    this.$refs.box.innerHTML = `keydown: ${event.key} - ${event.keyCode} - ${event.charCode}`;
}

在安卓版的 Firefox 浏览器中(版本号63.0.2),效果如下:

clipboard.png

在安卓版的 Chrome 浏览器中(版本号67.0.3396.87),效果如下:

clipboard.png

手机操作系统版本为 Android 7.1.1。

为什么 Chrome 浏览器中的输出与 Firefox 不一致,而且无法通过 preventDefault() 阻止输入?

阅读 1.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题