无法获得touchstart事件的属性?

时间:2011-05-30 07:24:36

标签: javascript jquery javascript-events iphone

当我尝试实现以下代码时:

$('.touchelement').bind({'touchstart':function(e){
    console.info(e.touches.item(0));
}});

它将输出显示为undefined。不仅在touchstart中,而且对于像touchmove,touchend这样的其他事件,它也会显示相同的结果。

是否有任何其他方法可以使用jquery绑定touchstart事件。

2 个答案:

答案 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);
});