事件监听器和画布

时间:2017-10-15 05:03:24

标签: javascript html5 html5-canvas

我有一个canvas元素,我有一组矩形,这些矩形需要根据键盘上箭头键的选择进行相应的移动。

的index.html

<canvas id="snakeCanvas" width="400" height="350"></canvas>

我正在使用“keydown”事件监听器来切换这个逻辑,我在 main.js 文件中有以下代码

(function () {
    document.addEventListener("DOMContentLoaded", function () {
        game.init();

        document.addEventListener("keydown", function (evnt) {
            var keyDirection = evnt.keyCode;
            if (keyDirection === "37" && direction !== 'right') {
                direction = 'left';
                console.log('test');
            } else if (keyDirection === '38' && direction !== 'down') {
                direction = 'up';
            } else if (keyDirection === '39' && direction !== 'left') {
                direction = 'right';
            } else if (keyDirection === '40' && direction !== 'up') {
                direction = 'down';
            }
        });
    });

})();

我能够控制出 keyCode 值,但是在调试时我注意到,调试器没有进入条件逻辑。我错过了什么?

1 个答案:

答案 0 :(得分:0)

您需要使用=====要求对象属于同一类型。然而,JavaScript ==

是松散的
a=37;
b='37';
a==b //true
a===b //false