le MEMO du WEB développeur
••• Javascript •••  Liste des Mémos, astuces et bonnes pratiques

Non prise en charge de addEventListener par IE < 9

Internet Explorer pour ses version antérieures à la 9 ne prend pas en charge l'événement javascript addEventListener, qui 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 click, mouseoverkeydown, keypress ... tandis que pour attachEvent, ses mêmes évenements doivent être nommés onclick, onmouseover, onkeydown, onkeypress .

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 !");
});

 

publié le 06/06/2014 par Memo Web
Commenter le Mémo :

Vérifier qu'une variable est de type entier en javascript
Récupérer l'identifiant de session id_session en javascript
Parcourir les classes d'un élément HTML en JavaScript
Récupérer l'URL de la page courante
Créer un bouton imprimer sur sa page web
Afficher un message avant de quitter une page
Faire une redirection en javascript
Fonction Javascript pour récupérer la valeur d'un cookie
Parcourir tous les éléments d'une classe CSS en Javascript
Vérifier si un champs est bien renseigné dans un formulaire HTML
Ajoutez vos propres Mémos sur MEMO-WEB

Il suffit de vous créer un compte sur le site

Vous pourrez choisir un thème parmis l'une des catégories proposées par MEMO-WEB.

Rédigez votre Mémo.
Après validation par MEMO-WEB, il sera mis en ligne.
Ajouter vos Mémos