如何实现JS监听组合按键

  介绍

小编这次要给大家分享的是如何实现JS监听组合按键,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。

<强>前言

我们经常用到组合键,例如alt + f4, crtl + enter。在开发中也会有这种需求。

<强>组合键类型

单独组合,二键组合,三键组合

<强>思路

1,获取键盘上的按键

2,阻止浏览器上的默认行为

3,执行自定义的JS函数

<强>代码例子

文档。onkeydown=function (e) {   var键码=e。键码| | e。这| | e.charCode;   var altKey=e。altKey;   如果(altKey,,键码==112){   alert(“组合键成功“)   }   e.preventDefault ();   返回错误;   }

<>强解刨

<强> e。键码| | e。这| | e.charCode

谷歌浏览器对event.keyCode, event.charCode和event.which都兼容。

火狐浏览器对event.keyCode部分键值有效,如上下左右键(37、38、39、40),输入键(13),PgUp (33), PgDn(34)等部分有效,对数字键,字母键无效。

event.which也是部分键值有效,如字母键,数字键,输入键,退格键等有效,对上下左右键,PgUp (33), PgDn(34)键无效。

event.charCode也是对部分键值有效,如字母键,数字键,,退格键等有效,对输入键,上下左右键,PgUp (33), PgDn(34)键无效。

ie浏览器中,IE8及以下浏览器对event.charCode无效,event.keyCode和event.which对大部分键值能获得,但是有少部分也不能获得。

所以该写法为兼容写法。

<强> e.altKey, e.shiftKey, e.ctrlKey, e.metaKey

用来监听键盘上的alt,转变,ctrl,元键。当按下这些键的时候,值会变为真的。

<强> e.preventDefault()

阻止默认事件,在W3C标准和ie下,处理方式不太一致。分别是执行e.preventDefault()方法和将e。returnValue=https://www.yisu.com/zixun/false属性。当然如果你使用的jquery等类库的话,只需要写一个e.preventDefault()就可以了,它帮你做到了兼容。

看完这篇关于如何实现JS监听组合按键的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。

如何实现JS监听组合按键