同时按下两个键后javascript事件的奇怪行为

时间:2013-04-05 10:46:05

标签: javascript events

我正在编写一个小的javascript应用程序,我需要控制屏幕事件(图像外观)。例如,如果image_1出现在screem上,我需要按一个键(例如右箭头),如果image_2出现,我需要按另一个键(例如左箭头)。如果它们同时出现,我需要按两个键。

问题在于,如果我同时按下两个键,则不会再启动任何键事件,我的意思是当下一个图像出现时我按下一个键但没有javascript事件。

我让代码变得简单:

<html lang="es">
  <head>
    <meta charset="utf-8">
    <title>Test1</title>
    <script>

    function addE () {
        if (document.addEventListener)  {// standard W3C DO
                document.addEventListener("keydown",test1,false);
        }
    }

    // ejemplo equivalente para quitar el evento
    function removeE () {
        if (document.removeEventListener)  {// standard W3C DOM
                document.removeEventListener("keydown",test1,false);
         }
    }


    function test1 (e) {
        alert('test');
        if (!e) var e = window.event;
        switch (e.keyCode) {
            case 39: 
              alert(e.keyCode);
            break;
            case 37:  
              alert(e.keyCode);
            break;
            default:
              alert(e.keyCode);
        }
    }


    window.onload = function() {
        addE();
        alert('Listener added');
    }

    </script>
  </head>
<body>

</body>
</html>

提前致谢

1 个答案:

答案 0 :(得分:0)

正如GonçaloVieira和Andy E建议的那样,问题不在于我的代码,而是我正在使用的调试警报。当更改为更好的调试解决方案console.log()时,一切正常