Phonegap textarea滚动

时间:2012-04-27 15:10:26

标签: javascript iphone ios cordova touch

我有一个phonegap应用程序,我已通过应用文档触摸移动和prevent.default();

禁用了webview的滚动

问题是我有两个文本区域,如果文本溢出我想滚动。防止默认会干扰这一点。

我尝试了几种混合结果的解决方法,目前为止最好的是检测触摸移动事件的x和y的以下功能,如果它落在文本区域之外,则仅应用防止默认值。

function preventBehavior(e) 
{ 
    console.log("event.targetTouches[0].pageX = " + event.targetTouches[0].pageX + " event.targetTouches[0].pageY = " + event.targetTouches[0].pageY);

    var x = event.targetTouches[0].pageX;
    var y = event.targetTouches[0].pageY;

    //fix the scroll of textareas for iOS by avoiding prevent default in them 
    if (x > 20 && x < 300 && y > 80 && y < 230){
        //touch falls within first text area
    }else if (x > 20 && x < 300 && y > 245 && y < 400){
        //touch falls within second text area
    }else{
        e.preventDefault(); 
    }
};
document.addEventListener("touchmove", preventBehavior, false);

现在的问题是,如果文本区域不需要滚动,那么它会滚动整个网络应用程序。

有没有人对此问题有明确的解决方法?

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果您只想要文本字段滚动,则可以使用iscroll.js。它也适用于桌面Web浏览器。