11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour. Commençons simplement. Il faut juste savoir que j'utilise prototype.js


Event.observe(unElement, 'mouseover', function (e) { alert(this) }, false);


Ce code produit lors de l'élément unElement du survol de la souris, une simple alert qui affiche ce même élément.
Ce code basic marche bien sous Opera et Firefox. Mais pas sous IE (pour changer Smiley confus ). Sous IE, this n'est pas l'élément correspondant au onmouseover, (il me semble que c'est l'élément window)

Là vous me direz que j'aurais pu écrire :

unElement.onmouseover = function () {
    alert(this);
}

...Car ça marche partout ça!
Oui j'aurais pu. Mais j'ai pas envie car ça peut engendrer des conflits s'il y a deja une action rattaché à cette évènement.

Connaissez vous une solution pour que je puisse manipuler, dans ma fonction (déclenchée par l'évènement), l'élément responsable.
(et ne me dites pas de récupérer du genre event.target ou Event.element() car si le onmouseover à lieu sur un fils de mon unElement, le target n'est pas le bon Smiley decu )

Merci à vous!
Modifié par MoOx (31 May 2007 - 17:02)
J'ai besoin de l'event.

Mais ta 2ème méthode marche. Merci à toi Smiley cligne

Etonnant que Prototype.js n'ait pas intuité le bug sur IE...
Modifié par MoOx (31 May 2007 - 17:01)