我正在为 iOS 制作一个网络应用程序。我希望它不可滚动,但文本区域除外(需要可滚动)。我尝试过查看类似的问题,例如这个disable enter key on page, but NOT in textarea运气不好(这个例子看起来最有希望,但我在 Safari 中收到“找不到变量节点”错误)。
有人可以帮我解决这个问题吗?谢谢
没有解决我的问题,但有帮助 - 标记为最佳答案
最佳答案
您可以查看用户是否正在尝试滚动(通常一根手指在屏幕上移动表示滚动),并使用 onTouchMove 事件监听器防止默认和传播。
var element = document.getElementById("textarea");
element.addEventListener("touchmove",function(e){onTouchMove(e)},false);
function onTouchMove(e) {
if(e.touches.length != 1) return;
e.stopPropagation();
e.preventDefault();
}
无论如何,iDevices 在滚动内部元素时都有点棘手;通常人们试图在内部元素上实现滚动效果:)
关于javascript - iOS 网络应用程序 : Disable scroll on page except for textarea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8469598/