我有一个 phonegap 应用程序,我通过应用文档触摸移动和 prevent.default() 禁用了 web View 的滚动;
问题是我有两个文本区域,如果文本溢出,我想滚动它们。阻止默认设置会干扰这一点。
我已经尝试了几种不同的解决方法,目前最好的方法是使用以下功能来检测触摸移动事件的 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);
现在的问题是,如果文本区域不需要滚动,那么它会滚动整个网络应用程序。
有人对这个问题有明确的解决办法吗?
提前致谢。
您可以使用 iscroll.js如果您只想滚动文本字段。它也适用于桌面网络浏览器。
关于javascript - Phonegap textarea滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10353171/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |