2014-08-28 32 views
1

我已经下载Hammers.js版本1.0.10我有很多尝试从js文件调用'捏'功能,但它不能执行。我认为在图书馆的问题,我已经下载其他但同样的问题发生。其他功能如触摸,滑动,拖动所有作品只有捏不工作[不打电话]。 如果有人知道告诉我。Pinchin不calll使用锤子库

谢谢

回答

1

我在那个版本采取仔细看看现在和事件“捏”,“pinchin”,“尖灭”和“改造”都应该被解雇。

如果你没有一个精缩版,你可以看到在这个行1217

inst.trigger('pinch', ev); 
inst.trigger('pinch'+ ((ev.scale < 1) ? 'in' : 'out'), ev); 

“改造”和“捏”是更普遍的事件。您可以使用事件数据来确定它是否处于进入或退出状态。

正如我第一次建议,你可以使用“变换”事件。与1.0.10版本附带的双指缩放例子还使用了转换事件:

hammertime.on('touch drag transform', function(ev) { 
    switch(ev.type) { 
     case 'touch': 
      last_scale = scale; 
      last_rotation = rotation; 
      break; 

     case 'drag': 
      posX = ev.gesture.deltaX; 
      posY = ev.gesture.deltaY; 
      break; 

     case 'transform': 
      rotation = last_rotation + ev.gesture.rotation; 
      scale = Math.max(1, Math.min(last_scale * ev.gesture.scale, 10)); 
      break; 
    } 

    // transform! 
    var transform = 
      "translate3d("+posX+"px,"+posY+"px, 0) " + 
      "scale3d("+scale+","+scale+", 0) " + 
      "rotate("+rotation+"deg) "; 

    rect.style.transform = transform; 
    rect.style.oTransform = transform; 
    rect.style.msTransform = transform; 
    rect.style.mozTransform = transform; 
    rect.style.webkitTransform = transform; 
}); 

的pinchin /出事件的触发是有条件的transform_min_scale价值得到满足。当您创建锤子元素时,请尝试将transform_min_scale设置为-1。

+0

是的, 捏不工作,但使用变换我已经完成工作 – 2014-08-30 05:29:48

+0

我很高兴你得到它的工作,但我担心我没有真正回答你的问题。我仔细看了一下,我看不出为什么看捏事件不会奏效的原因。 如果你去github并找到你的发布版本,你会发现一个缩放的例子。这会给你我的解决方案,告诉你使用变换事件,但至于为什么捏不起作用,我不知所措。 – Jools 2014-08-30 23:47:31

+0

是的,我也发现,但我发现我们必须改变Hammer.js库工作捏事件。因为在库中捏是不可用的,它可以作为变换的形式。 – 2014-09-01 04:59:02

2

我不确定有没有特定的版本。在2.0.2中,pinch默认是禁用的。使用类似启用:

mc.get('pinch').set({enable: true}) 
+0

哦,我的天,我搜索了大约2个小时的解决方案。谢谢!你从哪里得到这些信息? – dude 2015-11-13 14:32:45