2015-05-26 2 views
3

Вот мой код ... только простой тест, как я никогда не использовал hammer.js раньше:Как я могу удержать браузер, чтобы увеличить масштаб и использовать события hammer.js pinch?

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

Мне тоже было трудно с этим, пока не наткнулся на свойство touch-action. установив его в автоматическом режиме, молот останавливает блокировку событий и позволяет браузеру делать собственный зум.

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

Смежные вопросы