vue项目——键盘事件深究

Question:项目开发中有个需求,需要在当前页中实现键盘全控制(当前有个input输入框)

  •   中文输入法    键码值229

此事件中刚开始使用keyCode键码值进行控制,不涉及input的时候一切都还可以。
而当焦点在input中的时候,英文输入法的啥情况下keyCode一切都好,但是当按shift切换成中文输入法的时候,数字键+字母键(大部分键)的键码值都成了229。等于说当焦点在input框中且为中文输入法的时候,利用keyCode控制相应键就无效了。

  •   空格键默认效果

而且测试过程中发现,当焦点在input框中按下“空格键”的时候会有空格,当点击过按钮之后立刻按“空格键”会有默认点击的效果,这两个默认行为可以通过   event.preventDefault()   来阻止。

  •   利用e.code代替e.keyCode

如果想用在中文输入法的情况下仍然控制事件的话就不能用keyCode了,可以使用e.code来控制,每个键的code值在中英文输入法情况下都是一个固定的值

  •   其他键的情况

Tab键切换页面焦点

  •   input框中有些键的默认事件

Caps lock 键——切换为字母大写

Shift 键——中英文切换

Alt 键——使i

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值