使用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()
}
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
在keydown事件中记录event.keycode的值,在keyup中判断记录的keycode === 13 ? 因为在输入法中enter时,keydown的keycode = 229,但是keyup = 13