Internet Explorer pour ses version antérieures à la 9 ne prend pas en charge l’événement javascript addEventListenerqui permet d’assigner un événement javascript à un élément HTML.

On peut remplacer cette fonction sous IE par la fonction attachEvent 

function addEventMultiBrowsers(event, elem, func) {
   if (elem.addEventListener)  // Si le navigateur prend en charge addEventListener
      elem.addEventListener(event,func,false);
   else if (elem.attachEvent) { // Sinon (cas IE < 9)
      elem.attachEvent("on"+event, func);
   }
}

Remarquez que le nom de l’évément passé en paramètre pour addEventListener doit être nommée sous la form clickmouseoverkeydownkeypress … tandis que pour attachEvent, ses mêmes évenements doivent être nommés onclickonmouseoveronkeydownonkeypress .

Dans notre fonction nouvellement créée addEventMultiBrowsers, on choisi le premier formalisme et l’on rajoute « on »+event 

Exemple d’utilisation :

var mon_element = document.getElementById('mon_div');
addEventMultiBrowsers(mon_element, 'mouseover', function() {
    alert ("Vous avez survolé l'élément d'identifiant mon_div !");
});
0 réponses

Laisser un commentaire

Participez-vous à la discussion?
N'hésitez pas à contribuer!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.