Задать вопрос

Почему addEventListener не срабатывает по нажатию клавиш?

//game.js
function init() {
var moveLeft = false;
var moveRight = false;
var player = document.getElementById("player");

addEventListener("keydown", function(event){
if(event.keycode == 37)
	moveLeft = true;
if(event.keycode == 39)
	moveRight == true;
});
addEventListener("keyup", function(event){
if(event.keycode == 37)
	moveLeft = false;
if(event.keycode == 39)
	moveRight == false;
});

if(moveLeft)
	alert("l");
if(moveRight)
	alert("r");
}

Код включается после загрузки body
<body onload="init();">

<div class="mainframe">
	<div id="player"></div>
	<input type="button" id="add" value="add">
</div>

<script src="js/game.js"></script>

</body>

Что не так с кодом?
Я где-то видел, что если в аргументы addEventListener вписать функцию со скобками (), то это вызовет её незамедлительное исполнение.
Но относится ли это правило к такому виду записи ( function(event){}) ?
И является ли это причиной ошибки?
В консоли ничего нет.
  • Вопрос задан
  • 880 просмотров
Подписаться 1 Оценить 1 комментарий
Решения вопроса 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Во-первых, к чему Вы вешаете событие? к объекту window?
Во-вторых, на момент выполнения этого кода:
if(moveLeft)
  alert("l");
if(moveRight)
  alert("r");
}
события еще не произошли, соответственно оба if будут отклонены
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы