最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How to disable, enable, then disable again scrolling in ipadiphone with e.preventDefault();? - Stack Overflow

programmeradmin6浏览0评论

I have it disabled already, and I can enable it again. I used:

document.ontouchmove = function(e){
             e.preventDefault();
}

In the document.ready(); to disable it.

And I used this to enable it.

function doTouchMove(state) {
    document.ontouchmove = function(e){
      return state;
    }
}

I have it so when a user double clicks on an element, the doTouchMove is called. But how do I make it disabled again?

Thanks

I have it disabled already, and I can enable it again. I used:

document.ontouchmove = function(e){
             e.preventDefault();
}

In the document.ready(); to disable it.

And I used this to enable it.

function doTouchMove(state) {
    document.ontouchmove = function(e){
      return state;
    }
}

I have it so when a user double clicks on an element, the doTouchMove is called. But how do I make it disabled again?

Thanks

Share Improve this question edited Aug 23, 2010 at 13:37 cat asked Aug 23, 2010 at 13:30 catcat 1,5975 gold badges15 silver badges15 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 2

You could create a toggle instead, where your doTouchMove() function switches between false and true every time it's called:

(function () { // Set up a closure so we don't pollute the global scope
    var state = false;
    function doTouchMove() {
        state = !state;
    }
    document.ontouchmove = function(e){
        return state;
    }
    document.getElementById("myDoubleClickElement").ondblclick = doTouchMove;
})();

Now, every time you double-click #myDoubleClickElement, it will toggle the state variable's value between false and true, effectively disabling on the even clicks and enabling on the odd clicks.

Im the same user who asked this question... but I cleared my history & everything so I can't pick an answer or anything!

But what I did to fix it was put this

document.ontouchmove = function(e){
             e.preventDefault();
}

Into its own function, just as the doTouchMove() was. Then when I wanted it to stop moving again i would just call the name of that preventDefault function.

I don't know why it makes a difference but it works! :)

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论