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