键盘事件 - keyup keydown keypress

最近添加一登录,支持键盘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.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值