当我尝试实现以下代码时:
$('.touchelement').bind({'touchstart':function(e){
console.info(e.touches.item(0));
}});
它将输出显示为undefined。不仅在touchstart中,而且对于像touchmove,touchend这样的其他事件,它也会显示相同的结果。
是否有任何其他方法可以使用jquery绑定touchstart事件。
答案 0 :(得分:18)
jQuery对事件对象进行一些处理以使它们在浏览器中保持一致,但它不知道touches
数组,因此不会将其复制到新的事件对象。因此,您需要通过原始事件对象event.originalEvent
来访问它。
$('.touchelement').bind({'touchstart':function(e){
console.info(e.originalEvent.touches[0]);
}});
答案 1 :(得分:0)
看起来不应该更像这样吗?
$('.touchelement').bind('touchstart', function(e){
console.info(e.touches);
});