Отвечая на мой собственный вопрос.
Проблема закончилась тем, что вам нужно захватить и подавить ontouchstart
, а также ontouchmove
на document
, чтобы остановить прокрутку браузера.Это определенно отличается в iOS, но все равно работает одинаково на обеих платформах.
Фактический код, который я использовал в итоге, выглядит примерно так:
var preventDefault = function(e){
e.preventDefault();
};
var touchstart = function(e) {
document.addEventListener('touchstart', preventDefault,false);
document.addEventListener('touchmove', preventDefault,false);
/*do other stuff*/
};
var touchend = function(e) {
document.removeEventListener('touchstart', preventDefault,false);
document.removeEventListener('touchmove', preventDefault,false);
};
element.addEventListener('touchstart', touchstart, false);
element.addEventListener('touchend', touchend, false);