2014-08-28 30 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