[JavaScript] 判断键盘同时按某些键时执行操作。
前言:之前知乎上看到过一个介绍国外炫酷网站的,其中一个敏感网站用同时按住"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);">