如果触摸元素“#menu”,我想获得touchstart和touchend位置。
我写了这段代码,但事件似乎根本没有触发:
var lastLoc = 0;
$(document).on('touchstart', '#menu', function(e) {
lastLoc = e.originalEvent.touches[0].pageX;
});
$(document).on('touchend', '#menu', function(e) {
var newLoc = e.originalEvent.touches[0].pageX;
alert("lastLoc = "+lastLoc+", newLoc = "+newLoc);
});
据我所知,这应该有用。
提前致谢。
答案 0 :(得分:2)
touchend
事件在逻辑上应该只有touch
个零点,只有changedTouches
。
function startHandler (e) {
window.console.log('Start:', e.originalEvent.touches[0].pageX);
}
function endHandler (e) {
window.console.log('End:', e.originalEvent.changedTouches[0].pageX);
}
$(document).on('touchstart', '#menu', startHandler);
$(document).on('touchend', '#menu', endHandler);
如果您在测试触摸事件时遇到问题,请参阅:Simulating touchstart and touchend events?。
答案 1 :(得分:0)
您需要在可触摸的表面(如智能手机或平板电脑)上测试触摸事件。 在Google Chrome中,有一种方法可以模拟此功能。
答案 2 :(得分:0)
对不起您的麻烦,我最终使用了jquery mobile的“swipeleft” 无论如何,谢谢:)