等待按键继续该功能?

时间:2015-05-06 10:32:46

标签: javascript function

如何让我的javascript函数等待用户按键盘上的键继续脚本?我正在使用提示让玩家在网格上移动,但我想只使用按键。

此代码不会等待用户按键,而是直接进入提示。

this.onkeypress = function(evt) {
    evt = evt || window.event;
    var charCode = evt.keyCode || evt.which;
    var option = String.fromCharCode(charCode);
    alert(option);
};
var option = prompt("You can move tiping: \na(left)\nd(right)\nw(up)\ns(down).", "");
hero_can_move = true;
if(option=='w' || option =='a' || option=='d' || option=='s'){
    move(option);
}

1 个答案:

答案 0 :(得分:0)

我建议你使用一个函数将key和event绑定到按键

  

密钥代码:

     

左箭头37

     

向上箭头38

     

右箭头39

     

向下箭头40

   //how it would look in jquery
    $(window).on("keypress", function( key) {
        if(key == 37){ move("left");}
        if(key == 38){move("up");}
        if(key == 39){move("right");}
        if(key == 40){move("down");}
       });

将事件绑定到窗口,这样当您单击按钮时,窗口将侦听。除非按下满足if()标准的键,否则不会发生任何事情。

(注意,每次按下一个键,窗口按键功能都将触发并测试所有包含的内容。有些人会考虑这种不好的做法,但老实说,我认为它甚至不是特别糟糕的表现在任何现代计算机)