本帖最后由 cf361610910 于 2014-10-14 08:32:44 编辑

解决方案 »

  1.   

    function move(event){
    if(isdown){
    console.log(event.type);
    if(event.type == "mousemove"){
    $('#test').append('<p>' + event.pageY + '</p>');
    }else if (event.type == "touchmove"){
    //你想要获取的是触点的位置?这个属性没有在event对象上面的。
    //touch事件中,有三个属性是可以获取到这个pageY的,分别为touches,changedTouches,targetTouches,
    //这三个都是数组,所以可以取值数组中的第一个元素,然后再取它的pageY即可。
    $('#test').append('<p>' + event.touches[0].pageY + '</p>');
    }
    }
    }手机端和电脑端,触发的事件不同,所以保存到的位置也是不同的,可以查看一下:移动端的touch事件(三)
      

  2.   

    touchmove只有在touchstart的时候,才会触发一次,再以后都不会再次触发的,(正常情况下,会是这样的情况)如果你想要touchmove一直被触发,那么就只能再touchstar和touchmovet时,阻止默认动作的执行。function start(e){
    e.preventDefault();
    isdown = true;
    }
    function move(e){
    e.preventDefault();
            if(isdown){
                if(event.type == "mousemove"){
                    $('#test').append('<p>' + event.pageY + '</p>');
                }else if (event.type == "touchmove"){
                    //你想要获取的是触点的位置?这个属性没有在event对象上面的。
                    //touch事件中,有三个属性是可以获取到这个pageY的,分别为touches,changedTouches,targetTouches,
                    //这三个都是数组,所以可以取值数组中的第一个元素,然后再取它的pageY即可。
                    $('#test').append('<p>' + event.touches[0].pageY + '</p>');
                }
            }

        }但是这个时候,在这个区域滑动时,页面就不会跟着滚动了。
      

  3.   

    谢谢你,虽然还有点小问题,加上屏蔽默认,但还是只取一次,但是你的回答让我学到了知识,项目紧,我先用isroll.js解决了,回头再好好研究