2010-07-12 14 views
-1

J'essaie de pousser les coordonnées d'un clic de souris sur un élément particulier jusqu'à la fin d'un tableau. Voilà ce que j'ai:Pousser l'emplacement du clic de la souris sur un tableau en Javascript

DANS LA TÊTE:

var seatsArray = []; 

DANS LE CORPS:

var coordinates = document.getElementById("image"); 
coordinates.onclick = function(event) { 
    seatsArray.push(offsetX, offsetY); 
} 
document.write("Seats array contains: " + seatsArray + "."); 

Probablement quelque chose de simple, mais je suis nouveau javascript, donc je vous en serais reconnaissant toute aider à expliquer pourquoi cela ne fonctionne pas!

Merci

+2

"coordonnées" par rapport à quoi? Le début du document, l'élément "image", la fenêtre d'affichage? –

+0

Relatif à l'élément avec l'ID "image". Merci – IceDragon

+0

distance de son centre ou de son bord? Vous pourriez être plus précis quand vous le demandez. – galambalazs

Répondre

1

Deux choses que je vois, modifier votre événement sur clic à ceci:

coordinates.onclick = function(event) { 
    event = event || window.event; 
    if (!window.event) { // thanks firefox 
    event.offsetX = event.layerX; 
     event.offsetY = event.layerY; 
    } 
    seatsArray.push(event.offsetX, event.offsetY); 
} 

Firefox offsetX/Y est layerX/Y, et par exemple un objet événement mondial.

Mais si vous cordinates global Wnt essayez ceci:

coordinates.onclick = function(e) { 
e = e || window.event; 

if (e && e.pageX && e.pageY) { 
      e.posX = e.pageX; 
      e.posY = e.pageY; 

     } else if (e && e.clientX && e.clientY) { 
      var scr  = {x:0,y:0}, 
       object = e.srcElement || e.target; 
      //legendary get scrolled 
      for (;object.parentNode;object = object.parentNode) { 
       scr['x'] += object.scrollLeft; 
       scr['y'] += object.scrollTop; 
      } 
      e.posX = e.clientX + scr.x; 
      e.posY = e.clientY + scr.y; 
     } 
seatsArray.push(e.posX, e.posY); 
} 
+0

Ah oui. Toujours semble-t-il ne pas pousser au tableau car le document.write ne sort que le texte que j'ai spécifié et pas de coordonnées quand je clique sur l'image. Merci – IceDragon

+0

Le script global semble parfait, cependant, aucune sortie de tableau de document.write. Cela peut-il être dû au fait que l'élément "image" est zoomable et panable()? Merci – IceDragon

+0

@IceDragon: Vous lancez des appels 'document.write' dans votre gestionnaire' click'? –