Подтвердить что ты не робот

JS ForEach Loops в IE11

У меня возникают проблемы с получением цикла JS для работы над 4 элементами на странице в IE11. Я хочу, чтобы функция hideImg запускалась при hideImg мыши на элемент, над которым вы зависали.

Вот мой код:

elements.forEach( function(element) {
    element.addEventListener('mouseover', hideImg);
});

Я думаю, что я обнаружил, что forEach циклы не поддерживаются в IE, как я могу легко преобразовать это в цикл for в простой JS?

С уважением,
Стив

4b9b3361

Ответ 1

Просто следуйте основному программированию

var elements = document.getElementsByClassName("test");
for (var i = 0; i < elements.length; i++) {
  elements[i].addEventListener('mouseover', hideImg);
}

function hideImg() {
  console.log("hideImg called")
}
.test {
  width: 40px;
  height: 20px;
  border: green solid 1px;
}
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>

Ответ 2

Этот код исправит вашу проблему в IE 11.

Array.prototype.slice.call(elements).forEach( function(element) {
    element.addEventListener('mouseover', hideImg);
});