[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);">

  

原文地址:https://www.cnblogs.com/shengwei/p/5527512.html