我正在使用phonegap构建一个Android应用程序。我试图在用户触摸元素时实现触摸移动事件。但我仍然无法完美。
触摸移动事件非常完美,但当我触摸该区域并将手指拖到另一个触摸区域时,没有任何事件发生。
所以要点: - 用户触摸页面中的一个元素;然后将手指移出元素的范围。当手指移出元素时,我想抓住事件。当它进入另一个触摸区域时,触摸移动功能应该再次触发。
由于
答案 0 :(得分:1)
也许你应该在你的问题中添加一个javascript标记,以便获得更多关注。
据我所知,没有浏览器支持触摸事件的“mouseout”或“mouseover”等事件。
所以我们必须自己跟踪。由于我们获得的触摸对象(当触发事件被触发时)仅提供触摸事件开始的目标,我们必须通过使用触摸位置来检查我们触摸的元素。
我使用了document.elementPosition(x, y)
。
因此,通过触摸事件的坐标,我们可以得到我们正在触摸的元素。
要识别留下一个元素,我正在存储最后一个被触摸的元素并检查新的触摸事件,如果我还在触摸同一个元素。如果情况并非如此,我们就会离开原来的那个并且可以解决这个问题。
我写了一个简短的演示(jsbin)。 You can try it here on your phone.
Source code can be also found here.
此演示中缺少的是处理预期触摸区域之外的触摸事件。
我想知道是否有更好的方法来处理你的任务。如果是这样,希望有人会在这里写下来。也许你已经找到了问题的答案,因为你在这里添加了它?