默认情况下可以说var myVariable = true。现在我如何按下右键按下右键箭头,执行此代码:
{{1}}
并将继续执行,直到myVariable = false再次......
答案 0 :(得分:0)
您可以使用Jquery轻松完成此操作:
<script>$( "body" ).keydown(function( event ) {
if ( event.which == 39) {
event.preventDefault();
document.write("Right");
}
});</script>
答案 1 :(得分:0)
仅使用JavaScript(确保单击画布进行测试):
var writeIt = true;
document.onkeydown = function(e) {
switch (e.keyCode) {
case 39:
if (writeIt) {
document.write("Right");
}
break;
}
};
答案 2 :(得分:0)
将事件keydown
绑定到您的body
元素。
var myVariable = true
document.body.addEventListener('keydown', function(e) {
if (myVariable && e.keyCode === 39) {
document.write("Right");
myVariable = false;
console.log('First time!');
}
});
&#13;
<h1>Click here and then right arrow</h1>
&#13;
答案 3 :(得分:0)
我认为你要找的是这样的:
let arrowRight = null;
function keyChange(type, event) {
if (type === 'down' && event.keyCode === 39) {
if (!arrowRight) {
arrowRight = setInterval(function() {
document.body.append('right');
}, 500);
}
}
else if (type === 'up') {
if (arrowRight) {
clearInterval(arrowRight);
arrowRight = null;
}
}
}
document.addEventListener('keyup', keyChange.bind(null, 'up'));
document.addEventListener('keydown', keyChange.bind(null, 'down'));
但是因为我正在向文档中添加监听器而document.write
实际上清除了文档,如果您正在编写的文档已经关闭(加载),您将不得不使用另一种方法来写入您的文档(如document.body.append
)。
您可以详细了解document.write
here。