【问题标题】:document.body.scrollLeft does not trigger as expected in Safari on OSX Lion在 OSX Lion 上的 Safari 中,document.body.scrollLeft 未按预期触发
【发布时间】:2011-09-22 12:41:37
【问题描述】:

在 Apple 魔术鼠标或触摸板上滑动手指时,Safari 不会更新 document.body.scrollLeft。它仅在松开手指时触发。在 OSX Lion 下的 Safari 中尝试以下示例。它在其他浏览器中按预期更新,但工作方式类似于在 Safari Lion 中的 iOS 上滑动(似乎在“touchend”上触发)。

拖动滚动条使其行为符合预期。使用触摸板或 Apples 魔术鼠标来回滚动会使其行为怪异。

Demo

Fiddle

可以通过将内容移动到带有width: 100%; height: 100%; overflow-left: scroll; 的容器中来解决,但我的问题是需要从body 获取它。有什么想法吗?

【问题讨论】:

  • 你试过body { width: 100%; height: 100%; overflow-left: scroll; }吗?
  • 是的,它没有任何区别。检查更新的小提琴:jsfiddle.net/Z48fv/1
  • 哦,好的。希望其他人会回答,因为我没有 Mac :(
  • 我可以确认您的演示可以在带有触摸板的 Snow Leopard 上运行。
  • 我有 10.7.1 Lion 和 Safari 5.1,两者都提供了链接。 TriggeredScrolled 变量已正确更新。即使我使用触摸板甚至使用鼠标(通过抓取滚动条)。它也可以在不释放手指/鼠标按钮的情况下工作。

标签: javascript safari scroll osx-lion fixed


【解决方案1】:

现在看来 Apple 已经解决了这个问题,因为它现在突然对我有用而没有任何改变。

【讨论】:

    猜你喜欢
    • 2017-10-18
    • 1970-01-01
    • 2010-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多