2011-06-10 9 views

Respuesta

10

Necesita obtener las coordenadas xey de la página, y luego menos el desplazamiento canvas para obtenerlas relativas al canvas.

function q(event) { 
    event = event || window.event; 

    var canvas = document.getElementById('canvas'), 
     x = event.pageX - canvas.offsetLeft, 
     y = event.pageY - canvas.offsetTop; 

    alert(x + ' ' + y); 
} 

jsFiddle.

Debe considerar adjuntar eventos discretamente, es decir, no utilizando el atributo HTML onclick.

+3

Gracias! ¿Pero a qué te refieres con "discretamente"? –

+0

@Ahmad Se explica en la respuesta. Use una combinación de 'attachEvent()' y 'addEventListener()', en su código JavaScript. No mezcle el comportamiento y la capa de datos. – alex

2

Desde HTML5, acaba de obtener el layerX y atributos layerY del evento en sí. ¡Bonito!

+0

¡Dulce! Esta es una GRAN solución. Alguien sabe un inconveniente? –

Cuestiones relacionadas