循环切换语句

时间:2015-09-02 11:58:36

标签: loops switch-statement

我现在如何循环这个switch语句?因为在我循环该语句后,我想编写一个代码,只要按下其中一个键就将文本文本添加到站点

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    </head>
    <body>      
    <script language="javascript" type="text/javascript">

        document.onkeydown = function(event) {
            switch(event.keyCode) { 
            case 13:
                    document.write("Use weapon");
                    break;
            case 50:
                    document.write("Switch weapon");
                    break;
            case 32:
                    document.write("Jump");
                    break;
            case 38:
                    document.write("Run Forward");
                    break;
            }
            return event.returnValue;
        }
    </script>
</body>

2 个答案:

答案 0 :(得分:1)

您不需要循环。按住键时, onkeydown 会持续触发。 如果您只想让它只触发一次,那么请使用 onkeypress 。每次按下一个键时, onkeypress 会被触发一次。

无论哪种方式,你都不需要循环。

有关 onkeydown 的更多信息,请参阅W3school。 他们还有一个here事件的测试页面。

答案 1 :(得分:1)

&#34;我的意思是,只要按下其中一个按钮&#34; - Codenoob,评论问题

就应该重新设置switch语句

这应该有效:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
</head>
<body>      
<script language="javascript" type="text/javascript">

    var trackKeyCommand = function(){
        document.onkeydown = function(event) {
            switch(event.keyCode) { 
            case 13:
                    document.write("Use weapon");
                    document.write("<br />");
                    trackKeyCommand();
                    break;
            case 50:
                    document.write("Switch weapon");
                    document.write("<br />");
                    trackKeyCommand();
                    break;
            case 32:
                    document.write("Jump");
                    document.write("<br />");
                    trackKeyCommand();
                break;
            case 38:
                    document.write("Run Forward");
                    document.write("<br />");
                    trackKeyCommand();
                break;
            }
            return event.returnValue;
        }
    }
    trackKeyCommand();
</script>

我所做的是创建一个函数, trackKeyCommand 。按下四个键(ENTER,SPACE,UP和2)中的任何一个后,它再次调用该函数,从而产生一个循环。

我还在每个短语后加了一个换行符;我发现它更容易阅读。