是否可以捕获用户在页面元素上向左滑动,然后在滑动时运行功能?我有一些解决方案,但是如果您在页面上向下滚动,并且您的手指在元素上稍微向左滑动,它会运行该功能。
我目前的解决方案:
function touchMove() {
finalCoord.x = event.targetTouches[0].pageX;
changeX = originalCoord.x - finalCoord.x;
var changeY = originalCoord.y - finalCoord.y;
if (changeY < threshold.y && changeY > (threshold.y * -1)) {
changeX = originalCoord.x - finalCoord.x;
if (changeX > threshold.x) {
$(document).off("touchmove", ".row");
if ($(event.target).attr("class") === "row-inside") {
var element = $(event.target);
}
if ($(event.target).attr("class") === "row-l") {
var element = $(event.target).parent();
}
if ($(event.target).attr("class") === "row-r") {
var element = $(event.target).parent();
}
setTimeout(function () {
$(document).on("touchmove", ".row", function () {
touchMove();
});
}, 800);
}
}
}
function touchStart() {
originalCoord.x = event.targetTouches[0].pageX;
finalCoord.x = originalCoord.x;
}
$(document).on("touchmove", ".row", function () {
touchMove();
});
$(document).on("touchstart", ".row", function () {
touchStart();
});
}
我考虑过使用jQuery mobile,但swipeLeft
事件只会在滑动结束时触发,而不会在此期间触发。
答案 0 :(得分:0)
这个词就是拖延。
我尝试了很多方法,目前最好的方法是使用Hammer.js。
使用https://github.com/EightMedia/hammer.js/wiki/Getting-Started Hammer.js dragleft事件。
在此处查看您的移动设备上的一些示例:http://eightmedia.github.io/hammer.js/examples/carousel.html用于拖拽尝试旋转木马。