页面中有用到监听组合键(例:Ctrl + R)的事件,特地去查了下js的event对象,在这里记录一下
先用代码打印下键盘事件的event对象
document.onkeydown = function (oEvent) {
console.log(oEvent);
}
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...
}
}
好了,其他两个属性也是和这个一样的用法。这样我们就能监听到组合键的事件了。
网友评论