我正在使用jquery和touchmove事件,但代码在#info
中没有显示任何内容$('#movieShow').bind('touchmove',function(e){
e.preventDefault();
$('#info').text(e.touches[0].pageX);
});
答案 0 :(得分:36)
尝试使用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
答案 1 :(得分:1)
它可能就像错误命名的 DIV id('#info
')一样简单,但如果没有看到所有内容就无法分辨。
试试这个,看看你是否仍然没有输出:
$('#movieShow').bind('touchmove',function(e){
e.preventDefault();
console.log(e.touches[0].pageX);
});
(您需要在MobileSafari中启用调试控制台)
<强>更新强>
因此,根据您的评论,您会收到错误消息:'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);