Pourquoi le travail des événements de VEMAP dans d'autres navigateurs, mais pas Firefox?

StackOverflow https://stackoverflow.com/questions/4369288

  •  09-10-2019
  •  | 
  •  

Question

J'ai un contrôle VEMAP avec les bits correspondants de code suivants:

map = new VEMap('map');

map.AttachEvent("onclick", DoContinents);

function DoContinents(event)
     {
        if (event.elementID != null)
        {
        //var shape = map.GetShapeByID(event.elementID);
        //var id = shape.GetID();
        //var id = event.elementID;
        //alert (event.elementID);
        if (event.elementID == 'msftve_1001_200000_10000')
            {
                map.SetCenterAndZoom(new VELatLong(15, -90), 2);
        }
          else if (event.elementID == 'msftve_1001_200001_10001')
            {
                map.SetCenterAndZoom(new VELatLong(48, 23), 2);
            }
             else if (event.elementID == 'msftve_1001_200002_10002')
            {
            map.SetCenterAndZoom(new VELatLong(4, 18), 2);
                }
             else if (event.elementID == 'msftve_1001_200003_10003')
            {
                map.SetCenterAndZoom(new VELatLong(43, 87), 2);
                }
            else if (event.elementID == 'msftve_1001_200004_10004')
            {
                map.SetCenterAndZoom(new VELatLong(-25, 134), 2);
                }

            cont.Hide();
            vid.Show();
            $('#sidebar_list').show();
            $('#legend').show();
        }
     }

Il fonctionne très bien dans Chrome, et même dans IE! Cependant, lorsque je charge la page dans Firefox ne se passe lorsque je clique sur mes icônes de carte. Après enquête, j'ai découvert que l'événement se déclenche dans tous les navigateurs et les pistes de DoContinents. Chrome et IE, event.elementID contient l'ID de l'VEShape mais je cliqué dans Firefox event.elementID est nul (même si il y a un objet événement)! Il est évident que cela provoque le code dans mon gestionnaire d'événements de DoContinents ne pas courir. Pourquoi cela se produit dans Firefox, mais pas mes autres navigateurs?

Était-ce utile?

La solution

Ce fut un difficile à traquer, mais il se trouve que si les conditions suivantes sont remplies, les événements VEMAP briser. Ils encore le feu, mais les données événement critique telles que elementID il manque.

  1. ne se produit que dans Firefox
  2. Lorsque le cadre de Mootools est chargé (étant pas nécessairement utilisé)

Lorsque ces conditions sont remplies, le problème mentionné ci-dessus se produit.

Sachez que Joomla automatiquement les charges Mootools. Ce qui est arrivé à moi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top