如何捕获在iphone上拖动手指的javascript事件?

如何捕获在iphone上拖动手指的javascript事件?,javascript,events,mobile,Javascript,Events,Mobile,我有一页全是绿色的 <div class="square">1</div> <div class="square">2</div> <div class="square">3</div> <div class="square">4</div> 当您用鼠标输入每个div时,会向其中添加一类“touch”: $(document).ready(function(){ $('.square').bin

我有一页全是绿色的

<div class="square">1</div>
<div class="square">2</div>
<div class="square">3</div>
<div class="square">4</div>
当您用鼠标输入每个div时,会向其中添加一类“touch”:

$(document).ready(function(){
  $('.square').bind('mouseenter', function(){
    $(this).addClass('touch');
  });
});
在我的iPhone上查看页面,如果我触摸其中一个页面,它会变为红色(一个类被添加到其中,onMouseCenter)。但是,如果我将手指拖动到另一个div中,它不会变为红色(不会触发mouseenter事件)。我尝试了所有我能找到的活动,包括移动事件插件,但我不知道如何获得这种效果。下面是一个JSFIDLE来说明:

将其加载到手机上,然后运行它。触摸四分之一,它会变成红色。将手指留在屏幕上,尝试将手指从一个四分之一拖动到另一个四分之一。什么也没发生。我错过了什么?谢谢

更新:这里有一个带有jgestures.js的JSFIDLE。将此内容加载到手机上:

把你的手指从一个正方形拖到另一个正方形。为什么它们不都变成绿色

更新:下面是一个JSFIDLE,其中包含来自另一个SO线程的捕获建议:


触摸一个正方形会变成红色,太好了。但是滑动到另一个方块不会触发addClass。我只是错过了一个合适的活动吗?

触摸屏功能是一个非常值得支持的功能,随着移动设备的不断发展,等等,请尝试以下伟大的库之一:

我喜欢jGestures:

  http://jgestures.codeplex.com
因为它是一个jQuery插件,非常容易使用,并且有很多手势

  jQuery('#swipe').bind('swipeone',eventHandler);

这已经被介绍过了Draging将对应于touchmove事件
dragstart
/
touchstart
,而且,这些:将为您做很多工作。奇怪的是,我尝试了这个确切的插件,但它不起作用。我再试试。奇怪,你是在手机上运行原生应用程序,还是在网站上运行?另外,不要限制自己,也可以尝试其他插件。
  jQuery('#swipe').bind('swipeone',eventHandler);