Maison  >  Article  >  interface Web  >  Pourquoi mon « addEventListener » ne fonctionne-t-il pas dans Internet Explorer 8 ?

Pourquoi mon « addEventListener » ne fonctionne-t-il pas dans Internet Explorer 8 ?

DDD
DDDoriginal
2024-10-26 20:04:02800parcourir

Why Isn't My `addEventListener` Working in Internet Explorer 8?

Problèmes de compatibilité addEventListener dans Internet Explorer 8

Vous rencontrez des problèmes avec la méthode addEventListener dans Internet Explorer 8 ? Ne vous inquiétez plus ! Voici la solution :

Vous avez créé dynamiquement une case à cocher et lui avez attribué un écouteur d'événement, en vous attendant à ce qu'elle déclenche une fonction lors d'un clic. Bien que cela fonctionne parfaitement dans les navigateurs modernes comme Chrome et Firefox, Internet Explorer 8 refuse de jouer le jeu.

N'ayez crainte, car la solution réside dans la reconnaissance de la compatibilité du navigateur addEventListener. Pour les versions d'Internet Explorer antérieures à IE9, la méthode attachEvent est votre choix privilégié. Modifiez votre code comme suit :

if (_checkbox.addEventListener) {
    _checkbox.addEventListener("click", setCheckedValues, false);
}
else {
    _checkbox.attachEvent("onclick", setCheckedValues);
}

Cette vérification conditionnelle garantit la compatibilité avec IE8 et les autres navigateurs. addEventListener sera utilisé pour les navigateurs qui le prennent en charge, tandis que attachEvent prendra le relais pour les versions d'Internet Explorer inférieures à IE9.

N'oubliez pas que pour les versions d'Internet Explorer antérieures à IE9, attachEvent est la méthode préférée pour l'enregistrement des événements, alors que addEventListener l'est. plus adapté aux navigateurs modernes.

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!

Déclaration:
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