Iphone safari touchmove событие не работает
Я использую событие jquery и touchmove, но код не показывает ничего в #info
$('#movieShow').bind('touchmove',function(e){
e.preventDefault();
$('#info').text(e.touches[0].pageX);
});
Ответы
Ответ 1
Попробуйте использовать e.originalEvent.touches
:
$('#movieShow').bind('touchmove',function(e){
e.preventDefault();
var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
console.log(touch.pageX);
});
У меня возникла аналогичная проблема, когда я играл с событиями касания и jquery: http://xavi.co/articles/trouble-with-touch-events-jquery
Ответ 2
Это может быть так же просто, как неверно названный DIV id ('#info
'), но не может сказать, не видя всего.
Попробуйте это, и посмотрите, не по-прежнему ли вы получаете результат:
$('#movieShow').bind('touchmove',function(e){
e.preventDefault();
console.log(e.touches[0].pageX);
});
(вам нужно включить консоль отладки в MobileSafari)
UPDATE
Итак, из вашего комментария вы получите сообщение об ошибке: 'e.touches' is not an object
В этом случае попробуйте это (не специфично для jQuery):
document.addEventListener('touchmove', function(e) { e.preventDefault(); }, false);
document.getElementById('movieShow').addEventListener('touchmove', function(e){
console.log(e.touches[0].pageX);
}, false);