【问题标题】:how do you prevent page scroll in textarea on mobile safari你如何防止移动Safari上textarea中的页面滚动
【发布时间】:2010-10-25 07:01:09
【问题描述】:

我正在尝试为有趣的移动 safari 制作一个小记事本应用程序,但到目前为止似乎还没有成功。我想防止页面滚动,所以它没有橡皮筋,感觉像一个 web 应用程序,但我正在使用:

document.ontouchmove = function(e){
    alert("calling prevent default");
    e.preventDefault(); 
}

这很好用,除了在 textarea 中看起来 ontouchmove 永远不会被触发,所以页面滚动仍然会发生。有没有人想出如何更改苹果在文本区域中的默认功能,或者想出一个替代文本区域的方法,它没有苹果的默认功能?

【问题讨论】:

  • 您想同时阻止双指滚动,还是只阻止单指滚动?
  • 如果您知道如何禁用两指滚动,我也想知道。

标签: javascript iphone html ipad mobile-safari


【解决方案1】:

目前似乎没有好的解决方案。我发现一个项目也在努力解决这个问题,并且人们已经在文本字段上隐藏了跨度,但这对我来说仍然很麻烦。

http://code.google.com/p/iscroll-js/issues/detail?id=24

我想这只是对移动 Safari 的限制,因为目前我似乎找不到一个好的解决方案。

【讨论】:

    【解决方案2】:

    我在某处读到,将您的内容放在 div> 和 "overflow:hidden" 中并设置 div 的高度应该可以防止滚动。请告诉我们它是否有效。

    【讨论】:

    • 我认为这行不通,因为据我所知,可编辑的内容在移动 Safari 中不起作用,据我所知,输入文本的唯一方法是使用文本区域。
    • 感谢您的尝试。我这里也有一部 iPhone。我希望我今晚有时间亲自测试一下。
    猜你喜欢
    • 1970-01-01
    • 2016-10-27
    • 2019-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多