【问题标题】:Phonegap textarea scrollingPhonegap textarea滚动
【发布时间】:2012-04-27 15:10:26
【问题描述】:

我有一个 phonegap 应用程序,我通过应用文档触摸移动和 prevent.default() 禁用了 web 视图的滚动;

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

我已经尝试了几种不同的解决方法,目前最好的方法是使用以下功能来检测触摸移动事件的 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);

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

有人对这个问题有明确的解决办法吗?

提前致谢。

【问题讨论】:

    标签: javascript iphone ios cordova touch


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2013-07-21
      • 1970-01-01
      • 2011-11-08
      • 2010-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-15
      相关资源
      最近更新 更多