js监听enter事件,mac系统直接跳转

  1. 使用js写了搜索框,监听键盘enter事件,keycode==13时跳转,

  2. 在windows系统上面是好的,在mac系统会出现一个问题:

  3. 使用mac系统,使用中文输入法输入字符,一般按enter键,会将输入的字符填写到输入框,可是这里会直接触发enter事件。

  4. 怎么避免这种情况?
    图片描述

阅读 6.2k
3 个回答
新手上路,请多包涵

在keydown事件中记录event.keycode的值,在keyup中判断记录的keycode === 13 ? 因为在输入法中enter时,keydown的keycode = 229,但是keyup = 13

你的判断在严谨一点,多加一个判断条件,输入框必须有值 , 你可以试试

if(input.value && event.keyCode === 13){
    this.onSearchClick()
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题