Heim > Web-Frontend > js-Tutorial > Warum löst „addEventListener' einen Fehler in MSIE aus?

Warum löst „addEventListener' einen Fehler in MSIE aus?

Barbara Streisand
Freigeben: 2024-10-25 01:52:02
Original
705 Leute haben es durchsucht

Why Does `addEventListener` Throw an Error in MSIE?

MSIE- und addEventListener-Problem in Javascript

Beim Versuch, die addEventListener-Methode für das Element document.getElementById('container') zur Ausführung zu verwenden Wenn Benutzer beim Kopieren von Inhalten auf einer Webseite eine „Beforecopy“-Funktion verwenden, kann es sein, dass Benutzer in Internet Explorer (MSIE) auf den Fehler „Objekt unterstützt diese Eigenschaft oder Methode nicht“ stoßen.

Das Problem tritt auf, weil MSIE die Verwendung von erfordert attachmentEvent anstelle der Standardmethode addEventListener. Um dieses Problem zu lösen, prüfen Sie, ob die Methode addEventListener verfügbar ist, und verwenden Sie sie gegebenenfalls. Andernfalls greifen Sie auf attachmentEvent zurück:

if (el.addEventListener){
  el.addEventListener('click', modifyText, false); 
} else if (el.attachEvent){
  el.attachEvent('onclick', modifyText);
}
Nach dem Login kopieren

Ein anderer Ansatz besteht darin, eine Funktion zum Ausführen dieser Aufgabe zu erstellen:

function bindEvent(el, eventName, eventHandler) {
  if (el.addEventListener){
    el.addEventListener(eventName, eventHandler, false); 
  } else if (el.attachEvent){
    el.attachEvent('on'+eventName, eventHandler);
  }
}

bindEvent(document.getElementById('myElement'), 'click', function () {
  alert('element clicked');
});
Nach dem Login kopieren

Das dritte Argument von addEventListener ist useCapture, das, wenn es auf „true“ gesetzt ist, angibt, dass die Ereigniserfassung initiiert werden soll.

Das obige ist der detaillierte Inhalt vonWarum löst „addEventListener' einen Fehler in MSIE aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage