如何使用e.preventDefault()在ipad / iphone中禁用,启用,然后再次禁用滚动?

时间:2010-08-23 13:30:23

标签: javascript jquery iphone ipad

我已将其禁用,我可以再次启用它。 我用过:

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

在document.ready();禁用它。

我用它来启用它。

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

我知道,当用户双击某个元素时,会调用doTouchMove。但是如何让它再次禁用呢?

由于

2 个答案:

答案 0 :(得分:2)

您可以改为创建一个切换,每次调用时, doTouchMove()函数在 false true 之间切换:

(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;
})();

现在,每次双击 #myDoubleClickElement 时,它都会在 false true <之间切换 state 变量的值/ em>,有效地禁用偶数点击并启用奇数点击。

答案 1 :(得分:0)

我是问过这个问题的同一个用户...但我清除了我的历史记录&amp;一切都让我无法回答任何答案!

但是我做了什么来解决这个问题

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

进入自己的函数,就像doTouchMove()一样。然后,当我希望它再次停止移动时,我只需要调用那个preventDefault函数的名称。

我不知道它为什么会有所作为,但它确实有效! :)