[JavaScript] 判断键盘同时按某些键时执行操作。

时间:2023-03-08 19:43:38

前言:之前知乎上看到过一个介绍国外炫酷网站的,其中一个敏感网站用同时按住"q、a、p、l" 才能观看视频 放手则立即强制停止 (手动斜眼)。这个功能的实际用处,我认为是可以在做一些小系统的权限控制时可以采用,这样就免去做登录和权限相关的功能了。

例子1:同时按住"~、L、J、W、" 时增加权限

1.1 js部分:

 //按键权限验证

    var isCrawler = false;//爬虫权限
var keybuf = {};
function keydown(e) {
var evt = e || window.event;
keybuf[evt.keyCode] = true;
whatIsDown();
} function keyup(e) {
var evt = e || window.event;
keybuf[evt.keyCode] = false;
whatIsDown();
} function keypress(e) {
whatIsDown();
} function whatIsDown() {
var str = ""; if (keybuf[74] == true && keybuf[76] == true && keybuf[87] == true && keybuf[192] == true) {
console.log('你开通了权限');
isCrawler = true;//开通权限
}
for (k in keybuf) {
if (keybuf[k] == true) {
str += k + "; "; }
}
}

1.2 html部分:

<body  onkeydown="keydown(event);" onkeyup="keyup(event);" onkeypress="keypress(event);">