Почему не нажимается right arrow?

153
11 апреля 2019, 11:50
function test() { 
if (!document.getElementById('monster-1')) {
var m1 = new KeyboardEvent('keydown',{'keyCode':37,'which':37});
document.dispatchEvent(m1);
} else if (!document.getElementById('monster-2')) {
var m2 = new KeyboardEvent('keydown',{'keyCode':39,'which':39}); 
document.dispatchEvent(m2); 
} else { 
var m3 = new KeyboardEvent('keydown',{'keyCode':40,'which':40});
document.dispatchEvent(m3);
}
};
setInterval( test, 1000 );

left arrow - работает

right arrow и down arrow - не работают

Answer 1

Я не знаю логики, но не срабатывает так как у вас условие else if, то есть вы проверяете условие, там получаете true и дальше по функции не идете. Вот можете попробовать добавляя или убирая искомый элемент на странице.

function test() { 
if (!document.getElementById('monster-1')) {
var m1 = new KeyboardEvent('keydown',{'keyCode':37,'which':37});
document.dispatchEvent(m1);
  console.log("left arrow");
}  
  if (!document.getElementById('monster-2')) {
var m2 = new KeyboardEvent('keydown',{'keyCode':39,'which':39}); 
document.dispatchEvent(m2); 
  console.log("right arrow");
} else { 
var m3 = new KeyboardEvent('keydown',{'keyCode':40,'which':40});
document.dispatchEvent(m3);
  console.log("down arrow");
}
};
test();
READ ALSO
Как реализовать кратность?

Как реализовать кратность?

Подскажите, как именно можно реализовать кратность?

138
Как лучше оформить код с событием во vue?

Как лучше оформить код с событием во vue?

Цель - показывать элемент "modal" при нажатии на h1, и закрывать его при нажатии на document

140
Как пройти PageSpeed Tools?

Как пройти PageSpeed Tools?

Кто мне может подсказать как улучшить показатели PageSpeedПроект маленький, по сути лендинг

143
Работа JS в vue js

Работа JS в vue js

Не работает js код, когда пытаюсь собрать его с помощью vueВсё отрисовывается корректно, но не запускается скрипт, не меняются выделенные цвета

148