2015-05-26 81 views
3

這裏是我的代碼...只是一個簡單的測試,因爲我從來沒有使用過hammer.js前:如何讓瀏覽器縮小以放大並使用hammer.js捏事件?

var hammerTime = new Hammer($('#hammerTarget').get(0)); 

hammerTime.add(new Hammer.Pinch({event: 'pinch'})); // Add pinch gesture events. 

hammerTime.on('pinchin', function(event) { 
    console.log('hammer pinchin'); 

}).on('pinchout', function(event) { 
    console.log('hammer pinchout'); 

}).on('pinchend', function(event) { 
    console.log('hammer pinchend'); 
}); 

這工作得很好,我可以檢測捏,但現在我的目標掐我不能再放大瀏覽器?我如何使用捏事件並允許默認的瀏覽器捏縮放?我需要做一些捏的東西,但我仍然希望人們能夠放大。

我使用的是hammer.js 2.0.4以防萬一。

回答

4

我也很難過,直到我遇到觸摸動作屬性。通過將其設置爲自動,錘子停止阻止事件,並允許瀏覽器執行自己的縮放。

var hammerTime = new Hammer($('#hammerTarget').get(0), {touchAction : 'auto'}); 

hammerTime.add(new Hammer.Pinch({event: 'pinch'})); // Add pinch gesture events. 

hammerTime.on('pinchin', function(event) { 
    console.log('hammer pinchin'); 

}).on('pinchout', function(event) { 
    console.log('hammer pinchout'); 

}).on('pinchend', function(event) { 
    console.log('hammer pinchend'); 
}); 

看到該文檔:http://hammerjs.github.io/touch-action/

+0

在鏈接頁面的文檔說'錘子將可能打破。你必須手動調用preventDefault來解決這個問題。如果你知道自己在做什麼,你應該只使用它。「當然,我*不知道我在做什麼,因爲我一直無法找到任何連貫準確地描述我在什麼時間和地點的事情。需要調用preventDefault! – Michael

相關問題