使用js监听组合键的方法

页面中有用到监听组合键(例:Ctrl + R)的事件,特地去查了下js的event对象,在这里记录一下

先用代码打印下键盘事件的event对象
document.onkeydown = function (oEvent) {
    console.log(oEvent);
}
使用js监听组合键的方法_第1张图片
evnet.png

可以看到event对象中返回很多信息,其中keycode属性中包含一份代码,是键盘上对应的ASCII码,'type'是触发事件的类型等等...

这里我们有几个属性是我们用的到的,就是'altkey'属性和'ctrlkey'属性还有'shiftkey'。它们代表着键盘上的alt、ctrl、shift键对于事件触发的判断。当事件由这几个键触发时,它们的值会变成true.

那我可以通过上边的内容结合这几个属性来监听键盘事件。

比如要监听ctrl + s的组合事件
 document.onkeydown = functionb(oEvent) {
    var oEvent = oEvent || window.oEvent; 
    //获取键盘的keyCode值
    var nKeyCode = oEvent.keyCode || oEvent.which || oEvent.charCode;
    //获取ctrl 键对应的事件属性
    var bCtrlKeyCode = oEvent.ctrlKey || oEvent.metaKey;
     if( oEvent.nKeyCode == 83 && bCtrlKeyCode  ) {
        alert('save');
         //doSomeThing...
     }
}

好了,其他两个属性也是和这个一样的用法。这样我们就能监听到组合键的事件了。

你可能感兴趣的:(使用js监听组合键的方法)