2 个回答

你是在touchstart的回调函数里定义赋值的startX,在touchmove里面取不到指。

你可以看一下控制台的报错。

我按你的思路改了一下:

var isMove = false,
    deltaX=0,
    startX;//这里startX要在外部声明,touchmove才可以访问。

    $("#touchme").on("touchstart",function(e){
        var touch = e.originalEvent.touches[0];//这里应该是;而不是,号
        //这里给startX是赋值,不是声明。不要给在var后面
        startX = touch.pageX;
        isMove = false;
    });
    $('#touchme').on('touchmove',function(e){
        e.preventDefault();
        var touch = e.originalEvent.touches[0];
        deltaX = touch.pageX-startX;
    })
    $('#touchme').on('touchend',function(e){
        e.preventDefault();
        alert(deltaX)
    })

在touchmove中console.log(startX), 就明白了, startX现在还是undefined

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题