При использовании прослушивателей событий с событиями touchmove и touchhend я не могу заставить Chrome для Android распознавать те события, если я не впервые использовал event.preventDefault(); ранее в коде. Если я не хочу блокировать функциональность прокрутки по умолчанию, есть ли другой способ обхода, который я могу использовать, чтобы заставить Chrome для Android признать эти события?
Пример кода:
$(document).ready(function () {
// Bind touch event listeners.
var elem = $('html').get(0);
elem.addEventListener('touchstart', function (e) { console.info('"touchstart" detected. Coordinates - ' + getCoord(e)); });
elem.addEventListener('touchmove', function (e) { console.info('"touchmove" detected. Coordinates - ' + getCoord(e)); });
elem.addEventListener('touchend', function (e) { console.info('"touchend" detected. Coordinates - ' + getCoord(e)); });
function getCoord(e) {
var touch = false;
if (e.touches.length > 0) {
touch = e.touches[0];
} else {
touch = e.changedTouches[0];
}
if (touch) {
return 'x: ' + touch.pageX + ', y: ' + touch.pageY;
}
}
Пример скрипки здесь: http://jsfiddle.net/jQ2VS/1/