1

我有一个被调用的函数,touchmove我需要找出鼠标移动的方向。请求的值是“左”和“右”。在不使用任何插件的情况下如何做到这一点?

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

1 回答 1

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
    }
}
于 2013-06-18T13:43:45.317 回答