working w3schools not javascript jquery events click touch

javascript - w3schools - ¿Hay un equivalente a la posición de e.PageX para el evento ''touchstart'' como para el evento click?



touch events javascript (5)

Intenté algunas de las otras respuestas aquí, pero originalEvent también fue indefinido. Tras la inspección, se encontró una propiedad clasificada TouchList (según lo sugerido por otro afiche) y se logró llegar a la página X / Y de esta manera:

var x = e.changedTouches[0].pageX;

Estoy tratando de obtener la posición X con jQuery de un evento touchstart, ¿usado con la función en vivo?

Es decir

$(''#box'').live(''touchstart'', function(e) { var xPos = e.PageX; } );

Ahora, esto funciona con ''clic'' como el evento. ¿Cómo demonios (sin usar el jQuery móvil alfa ) lo obtengo con un evento táctil?

¿Algunas ideas?

Gracias por cualquier ayuda.



Un poco tarde, pero necesitas acceder al evento original, no al masajeado de jQuery. Además, dado que estos son eventos multitáctiles, se deben realizar otros cambios:

$(''#box'').live(''touchstart'', function(e) { var xPos = e.originalEvent.touches[0].pageX; });

Si quieres otros dedos, puedes encontrarlos en otros índices de la lista de toques.

ACTUALIZACIÓN PARA LA NUEVA JQUERY:

$(document).on(''touchstart'', ''#box'', function(e) { var xPos = e.originalEvent.touches[0].pageX; });


Utilizo esta función simple para el proyecto basado en JQuery

var pointerEventToXY = function(e){ var out = {x:0, y:0}; if(e.type == ''touchstart'' || e.type == ''touchmove'' || e.type == ''touchend'' || e.type == ''touchcancel''){ var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0]; out.x = touch.pageX; out.y = touch.pageY; } else if (e.type == ''mousedown'' || e.type == ''mouseup'' || e.type == ''mousemove'' || e.type == ''mouseover''|| e.type==''mouseout'' || e.type==''mouseenter'' || e.type==''mouseleave'') { out.x = e.pageX; out.y = e.pageY; } return out; };

ejemplo:

$(''a'').on(''mousedown touchstart'', function(e){ console.log(pointerEventToXY(e)); // will return obj ..kind of {x:20,y:40} })

espero que esto sea útil para ti;)