如果触摸到元素"#menu“,我希望获得接触点和接触点位置。
我编写了这段代码,但事件似乎根本没有触发:
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);
});据我所知,这应该可行。
提前谢谢。
发布于 2015-02-10 13:23:47
从逻辑上讲,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);如果您在测试触摸事件时遇到问题,请参见:模拟触地启动和触地事件?。
发布于 2015-02-10 13:26:26
您需要测试触摸事件在触摸表面,如智能手机或平板电脑。在Google中,有一种方法可以模拟这个函数。
发布于 2015-02-10 13:29:56
对不起,我最后使用了jquery的"swipeleft“,谢谢:)
https://stackoverflow.com/questions/28432350
复制相似问题