我有一个调用touchmove的函数,我需要找出鼠标移动的方向。请求的值为“ left”和“ right”。不使用任何插件怎么办?

document.addEventListener('touchmove',
    function(event, direction, distance, duration, fingerCount) {
        if(direction == 'left'){
            my.MouseWheel.handle(-1);
        } else if (direction == 'right'){
            my.MouseWheel.handle(1);
        }
    });

最佳答案

使用touchstart事件,然后使用pageX和pageY获取触摸的坐标。然后在touchmove事件上再次获取坐标,并与前一个坐标进行比较以找到方向。

var mouse_x;
var mouse_y;
function load(){
     document.addEventListener('touchstart',get_mouse_coords,false);
     document.addEventListener('touchmove',check_swipe,false);
}

function get_mouse_coords(e){
    mouse_x = e.pageX;
    mouse_y = e.pageY;

}
function check_swipe(e){
    var new_mouse_x = e.pageX;
    if ((new_mouse_x - mouse_x) > 75){
        //swiped right
    }else if ((new_mouse_x - mouse_x) < -75){
        //swiped left
    }
}

10-06 15:04