1

有人熟悉zepto吗?

我也愿意接受其他移动框架的建议,如果他们有良好的 doubleTap 植入并且他们可以处理这项工作。

我需要在移动 Safari 中检测 doubleTap 事件的第二次点击时的坐标。

到目前为止,我一直在为 event-obj 使用jQuery,并且该语法很好

 x: e.pageX 
 y: e.pageY 

但它在 iPad 中不起作用

感谢任何帮助,BR

4

2 回答 2

1

正如我所提到的,我找到了一个解决方案,所以如果其他用户面临同样的问题,我会发布它:

// double tap (tapped twice within 250ms)
      if (touch.isDoubleTap) {
        touch.el.trigger('doubleTap')
        touch = {}

上面 zepto.js 中的代码检测到触摸事件是 doubleTap 并触发其处理程序。这里有一点修改:

 // double tap (tapped twice within 250ms)
      ...............
        touch.el.trigger('doubleTap', {touch: touch})

通过将事件作为参数传递来覆盖它可以解决问题。现在可以使用包括坐标在内的所有属性访问事件对象。

这是一个如何从定义的处理程序中提取它们的示例:

    Zepto('selector').doubleTap(function(e){
       var dblTap = e.data.touch;
       var coord = {
          x: dblTap.x1,
          y: dblTap.y1
       }
    });

这对v1.0.rc1有效不知道以后的版本会是什么情况

于 2012-10-27T16:56:16.403 回答
1

我不知道这是否可以在 Zepto 上工作(我在 JQMobi 上遇到了同样的问题)但是如果你使用 HammerJS http://eightmedia.github.com/hammer.js/而不是你可以得到实际的水龙头的位置

有关此示例,请参见我的 SoftPaws 游戏:https ://github.com/gavD/soft-paws

我希望这有帮助!

于 2012-10-25T15:17:02.360 回答