您的位置:首页 > Web前端 > JavaScript

keypress事件的问题

2017-02-22 22:45 369 查看
在使用
keypress
keydown
事件进行键盘监控时发现几个奇怪的问题:

1、不论按下哪个按键,在火狐上监控到的
keyCode=0
,而在其他浏览器上监控到的
keyCode=229


不论是0还是229,这显然是不对的。

通过反复试验,发现可能是 中文输入法 导致的。在英文状态下获取到的
keyCode
值是正常的,而在中文状态下就发生了异常。

2、
keypress
无法监控功能键


在我的需求里,要监控“上、下、左、右”按键,并且屏蔽这4个键的默认操作。

一般屏蔽按键操作的做法是使用
keypress
进行监听,获取到这几个键的
keyCode
return false;
来中断默认事件。

然而实际上却发现,
keypress
无法监控到功能键,这时唯有使用
keydown
进行替代。

这几个键盘事件执行的顺序是
keypress
>
keydown
>
keyup
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息