使用js写了搜索框,监听键盘enter事件,keycode==13时跳转,
在windows系统上面是好的,在mac系统会出现一个问题:
使用mac系统,使用中文输入法输入字符,一般按enter键,会将输入的字符填写到输入框,可是这里会直接触发enter事件。
怎么避免这种情况?
使用js写了搜索框,监听键盘enter事件,keycode==13时跳转,
在windows系统上面是好的,在mac系统会出现一个问题:
使用mac系统,使用中文输入法输入字符,一般按enter键,会将输入的字符填写到输入框,可是这里会直接触发enter事件。
怎么避免这种情况?
你的判断在严谨一点,多加一个判断条件,输入框必须有值 , 你可以试试
if(input.value && event.keyCode === 13){
this.onSearchClick()
}
13 回答12.8k 阅读
7 回答2k 阅读
5 回答1.4k 阅读
3 回答1.1k 阅读✓ 已解决
5 回答1.2k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答919 阅读✓ 已解决
在keydown事件中记录event.keycode的值,在keyup中判断记录的keycode === 13 ? 因为在输入法中enter时,keydown的keycode = 229,但是keyup = 13