在 Mac 系统上使用中文输入法,输入任意内容后不选择联想项,直接按回车键,如果选择非 onkeypress 的方式捕获,则会触发回车事件,正常情况下应该不做处理。因为表单的提交,只能在单独按下 Enter 键时处理,而不是在输入了一半的时候。
目前发现的三种解法:
onkeypress 结合 event.key === "Enter" 判断onkeydown 结合 event.keyCode === 13 判断(此时 key 的值为 "Enter" 时, keyCode 可能不为 13)onkeydown 结合 Composition API 判断测试和验证
使用 KeyCode 方案(标准已标记为弃用)
使用 Composition API 实战