Maison > interface Web > js tutoriel > Pourquoi addEventListener ne fonctionne-t-il pas dans IE8 et comment y remédier ?

Pourquoi addEventListener ne fonctionne-t-il pas dans IE8 et comment y remédier ?

Mary-Kate Olsen
Libérer: 2024-10-27 17:40:30
original
553 Les gens l'ont consulté

Why Doesn't addEventListener Work in IE8 and How to Fix It?

addEventListener ne fonctionne pas dans IE8 : solution

Malgré sa fonctionnalité répandue dans les navigateurs modernes, addEventListener ne fonctionne pas systématiquement dans Internet Explorer 8. Ce problème survient lorsque vous tentez de créer dynamiquement des cases à cocher et d'y attacher des écouteurs d'événements de clic.

Pour résoudre ce problème, nous pouvons implémenter une vérification conditionnelle qui détermine la version du navigateur. Si la compatibilité avec IE8 est requise, nous pouvons utiliser attachEvent au lieu de addEventListener :

if (_checkbox.addEventListener) {
    _checkbox.addEventListener("click", setCheckedValues, false);
} else {
    _checkbox.attachEvent("onclick", setCheckedValues);
}
Copier après la connexion

Voici pourquoi cette approche fonctionne :

  • attachEvent : Pour les versions d'IE antérieures à IE9, attachEvent est la méthode appropriée pour enregistrer les écouteurs d'événements. Il attache l'écouteur spécifié à l'EventTarget sur lequel il est appelé.
  • addEventListener : Pour IE9 et versions ultérieures, ainsi que pour d'autres navigateurs modernes, addEventListener est la méthode préférée pour l'enregistrement des événements.

En sélectionnant dynamiquement la méthode appropriée en fonction de la compatibilité du navigateur, cette solution garantit que les événements de clic sont correctement enregistrés dans IE8 et les autres navigateurs pris en charge.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal