我想为我的网站编写一些代码,当我在一个页面上时,可以是任何页面,但是对于这个例子,我们将使用一个带有“herp”的纯白色页面,并且没有任何格式。在这个页面上,我想如果用户然后在页面中输入“derp”,而不是在文本框中,它将把用户带到下一页。这可能吗?简单的?任何建议将不胜感激。
问问题
106 次
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>
于 2013-09-28T05:20:31.000 回答