0

我正在编写一个小 javascript 应用程序,我需要控制屏幕事件(图像外观)。例如,如果 image_1 出现在屏幕上,我需要按一个键(例如右箭头),如果 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>

提前致谢

4

1 回答 1

0

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

于 2013-04-10T09:31:15.060 回答