我有一个带有jQuery小部件的iPad应用程序。窗口小部件可以水平和垂直滚动。我需要通过触摸事件阻止垂直滚动,但留下通过按钮滚动的机会(如滑块)。
需要删除用户垂直触摸,但保持水平触摸。想法?
答案 0 :(得分:0)
mainContainer.on('touchmove', function(e) {
var xStart, yStart = 0;
xStart = e.touches[0].screenX;
yStart = e.touches[0].screenY;
var xMovement = Math.abs(e.touches[0].screenX - xStart);
var yMovement = Math.abs(e.touches[0].screenY - yStart);
if (friendsList.has($(e.target)).length
|| msgContainer.has($(e.target)).length) {
if ((yMovement * 3) > xMovement) {
e.preventDefault();
}
}
});
此代码内有' touchmove'事件阻止用户触摸垂直滚动,但允许滚动。