1

我想为我的网站编写一些代码,当我在一个页面上时,可以是任何页面,但是对于这个例子,我们将使用一个带有“herp”的纯白色页面,并且没有任何格式。在这个页面上,我想如果用户然后在页面中输入“derp”,而不是在文本框中,它将把用户带到下一页。这可能吗?简单的?任何建议将不胜感激。

4

2 回答 2

0

如果您想从头开始执行此操作,您将监听 key down 和 key up 事件。如果您通过按键检查事件对象,您还会发现一些其他隐藏的宝石。

var body = document.querySelector('body'),
    downKeys={};

body.addEventListener(
    'keydown',
    keyDown
);

body.addEventListener(
    'keyup',
    keyUp
);

function keyDown(e){
    downKeys[e.keyCode]=true;
    testMagicCombo();
}

function keyUp(e){
    downKeys[e.keyCode]=false;
}

function testMagicCombo(){
    //you can add a lot more logic here to do more testing
    //but this is the gist of it.
    //the codes below are for ctrl+alt+shift+L (why L? why not?)
    //you can easily see all the key stats by logging the downKeys object
    if(downKeys[16]&&downKeys[17]&&downKeys[18]&&downKeys[76])
        console.log('unicorn greets you at magic entry');
}
于 2013-09-28T11:24:01.070 回答
0

我想这是可能的,至少在 Chrome 中,如果您将keypress处理程序附加到body,您可以跟踪按下的键并识别何时输入了所需的单词。下面是附加事件处理程序的示例代码。我不确定这是否可以跨浏览器移植。

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  </head>
  <body>
    <script>
      $("body").keypress(function (event) {
        console.log(event);
      });
    </script>
  </body>
</html>

http://plnkr.co/edit/pFHaSedMcxxHajywFJ0m

于 2013-09-28T05:20:31.000 回答