it-swarm.com.de

JS ForEach-Schleifen in IE11

Ich habe Probleme, eine JS-Schleife zu bekommen, um über 4 Elemente auf einer Seite in IE11 zu arbeiten. Ich möchte, dass die Funktion hideImg beim Mouseover auf dem Element ausgeführt wird, über das Sie den Mauszeiger gezogen haben.

Hier ist mein Code:

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

Ich glaube, ich habe herausgefunden, dass forEach-Schleifen im IE nicht unterstützt werden. Wie kann ich dies problemlos in eine for-Schleife in einfacher JS-Datei konvertieren?

Mit freundlichen Grüßen,
Steve

5
Steve Walker

Folgen Sie einfach der Grundprogrammierung

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>

7
Nemani

Dieser Code wird Ihr Problem in IE 11 beheben.

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