addEventListener funktioniert nicht in IE8
Habe ich eine checkbox dynamisch. Ich habe verwendet addEventListener
eine Funktion aufzurufen, klicken Sie auf die Kontrollkästchen, die funktioniert auch in Google Chrome und Firefox aber funktioniert nicht im Internet Explorer 8. Das ist mein code:
var _checkbox = document.createElement("input");
_checkbox.addEventListener("click", setCheckedValues, false);
setCheckedValues
ist mein event-handler.
InformationsquelleAutor der Frage ravi404 | 2012-03-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen:
Update::
Für Internet Explorer-Versionen vor IE9, attachEvent Methode sollte verwendet werden, zu registrieren, die angegebenen listener der EventTarget es heißt, für andere addEventListener verwendet werden soll.
InformationsquelleAutor der Antwort Sudhir Bastakoti
Verwenden Sie
attachEvent
im IE-Versionen vor IE9. Erkennen, obaddEventListener
definiert ist und verwendenattachEvent
wenn es nicht ist:Beachten Sie, dass IE11 entfernen
attachEvent
.Siehe auch:
- element.Sie addEventListener ()
: älterer Internet Explorer und attachEventInformationsquelleAutor der Antwort Zeta
Dies ist auch einfach crossbrowser Lösung:
Statt 'Klick' werden können, jedem Fall natürlich.
InformationsquelleAutor der Antwort Sergey Onishchenko
IE nicht unterstützt
addEventListener
bis version 9, so dass SieattachEvent
hier ein Beispiel:InformationsquelleAutor der Antwort Adriano Repetti
Mayb es ist einfacher (und hat mehr Leistung), wenn Sie delegieren das event-handling auf ein anderes element, zum Beispiel Ihren Tisch
in dieser Weise haben Sie nur einen event-handler, und dieser wird die Arbeit auch für neu hinzugefügte Elemente. Dies erfordert jQuery >= 1.7
Anderweitig zu verwenden delegate()
InformationsquelleAutor der Antwort Nicola Peluchetti
Können Sie die unten addEvent () - Funktion zum hinzufügen von Ereignissen, die für die meisten Dinge, aber beachten Sie, dass für XMLHttpRequest
if (el.attachEvent)
wird nicht in IE8, weil es nicht unterstützenXMLHttpRequest.attachEvent()
so dass SieXMLHttpRequest.onload = function() {}
statt.InformationsquelleAutor der Antwort Anon
Ich habe entschieden für eine schnelle Polyfill basierend auf den obigen Antworten:
Natürlich, wie die Antworten oben nicht sicher, dass
window.attachEvent
vorhanden ist, die möglicherweise oder möglicherweise nicht ein Problem sein.InformationsquelleAutor der Antwort Campbeln
Wenn Sie jQuery verwenden, können Sie schreiben:
InformationsquelleAutor der Antwort philipp
InformationsquelleAutor der Antwort Pramod Kumar