Si bien este código produce el comportamiento esperado de "1" al tocar la pantalla:preserva las propiedades jQuery eventos de toque?
document.getElementById('someNodeId').addEventListener('touchmove', touch, true);
function touch(evt) {
evt.preventDefault();
alert(evt.changedTouches.length);
}
el mismo código utilizando un selector de jQuery:
$('#someNodeId').bind('touchmove', touch);
produce el error: "TypeError: Resultado de la expresión 'evt.changedTouches' [indefinido] no es un objeto ".
(Device = iPod Touch OS 3.1.3 (7E18); jQuery 1.4.2).
¿Cómo es esto posible y lo que estoy haciendo mal?
una explicación de por qué 'originalEvent' es necesario será útil para OP y otros que no están familiarizados con la normalización de eventos de jQuery. – Anurag
De hecho; la explicación se encuentra aquí: http://stackoverflow.com/questions/671498/jquery-live-removing-iphone-touch-event-attributes "Con el fin de eventos 'arreglar', clones jQuery el evento en. Si lo hace, sólo copia sobre un número limitado de propiedades por razones de rendimiento. Sin embargo, todavía se puede acceder al objeto evento original a través de la propiedad event.originalEvent ". De hecho no estoy seguro de que es muy útil el uso de jQuery en el iPhone; Fui por esta ruta debido a jQTouch pero ahora me estoy alejando de eso. – Bambax