键盘事件

来源:互联网 发布:阿里云cdn签名 编辑:程序博客网 时间:2024/06/04 19:47

最近添加一登录,支持键盘Enter,以前一直用的是直接在文档上触发键盘事件,如下图:

这种方法是可以实现功能的。记得以前input type=text也可以触发,我改成type=button,重新刷新页面就不能触发了,写法如下:

<input type=‘button’ id='test-key'/>

$('#test-key').bind('keydown',function(){

      console.log('trigger');

});

原因是没有focus,捕获不到activeElement,如果再点击一下就可以触发了。所以说键盘事件都有个前提:就是必须先获得焦点再触发,

除非是直接在文档上触发事件。

键盘事件有三个:keyup、keydown和keypress.

其中keyup和keydown是低级键盘事件,无论何时按下或释放按键,甚至是辅助键,都可以触发它们(注:PrtSc SysRq按键只能触发keyup,keyCode=44);

keypress是较高级的文本事件,只有数字、字母、运算符之类的才能触发,是在keydown和keyup之间时机触发。

keypress触发时获取的keyCode区分大小写,keyup和keydown是不区分的,例如A keyup、keydown、keypress都是65,而对于a keyup、keydown为65,keypress为97.

原创粉丝点击