JS ForEach Loops в IE11
У меня возникают проблемы с получением цикла JS для работы над 4 элементами на странице в IE11. Я хочу, чтобы функция hideImg
запускалась при hideImg
мыши на элемент, над которым вы зависали.
Вот мой код:
elements.forEach( function(element) {
element.addEventListener('mouseover', hideImg);
});
Я думаю, что я обнаружил, что forEach
циклы не поддерживаются в IE, как я могу легко преобразовать это в цикл for
в простой JS?
С уважением,
Стив
Ответы
Ответ 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);
});