Compatibilité ie sur le onmouseover

Signaler
Messages postés
5
Date d'inscription
jeudi 5 mars 2009
Statut
Membre
Dernière intervention
2 avril 2009
-
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
-
Bonjour à tous,

je suis toute nouvelle.
j'ai un soucis sur une page javascript. J'ai mis une carte de france en images. Le but est de placer des points de différents sites sur la carte de façon dynamique. Quand on va sur un de spoints, au onmouse, y a un div qui s'ouvre avec les coordonnées, tel, email du site en question.
Ca marche nikel chrome sous mozilla.
Sous ie il m'affiche des petites barres et le onmouse ne fonctionne pas.
Est ce que quuelqu'un peut m'éclairer.
Après avoir lu de la doc, j'ai vu que le pb pouvait venir du related target. Voici l'extrait de code ou je pense qu'il y a peut etre l'erreur.

implantation.prototype.change=function(e)
{
    var t=e.relatedTarget;
    while (t!=this && t.nodeName!='BODY') t=t.parentNode;

    if (t!=this)
    {
        if (this.className=='sites_btn')
        {
            this.innerHTML=this.parent.texte_fic;
            this.className='sites_fic';
        }
        else
        {
            this.innerHTML=this.parent.texte_btn;
            this.className='sites_btn';
        }

        this.parent.fade(0.4);
    }
}

Merci bcp à vous

1 réponse

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
Bonjour,
ta fonction n'est effectivement pas
compatible IExplorer, à cela une bonne raison,
l'appel de ta fonction fait appel à un paramètre e qui n'est pas passé par IExplorer, qui gére un événement global connu sous
le nom de event.
En conséquence il te faut
tester la valeur du paramètre et faire en fonction
exemple :
function Test( e_){
  if( e_){

    alert( "FireFox"];
  else
    alert( "IExplorer"];
}

de plus le pendant pour IExplorer de relatedTarget est fromElement, donc il te faut faire en fonction de.

exemple :
function Test(
e_){
  var Obj = null;
  if( e_)
    Obj = e_.relatedTarget;

  else
    Obj = event.fromElement;
  alert( Obj.tagName);
}

juste une question
pourquoi ne pas utiliser target pour FireFox et srcElement pour IExplorer qui te donnes directement l'élément auquel
l'évènement a été envoyé.
;O)