在Safari中使用鼠标滚轮/触控板滚动时,光标不会定位元素

时间:2012-05-31 23:37:20

标签: google-chrome safari scroll hover target

示例:

比较Chrome和Safari中Twitter.com上的推文提要。当鼠标保持静止并且使用跟踪板或鼠标滚轮滚动进给时,不会触发悬停状态。当光标移动时,光标似乎仅针对Safari中的元素,而不是在滚动浏览器窗口时。这适用于CSS和JQuery悬停状态。

Ex.fm已经能够解决这个问题。如果使用固定光标在浏览器窗口上滚动浏览歌曲列表,则会触发悬停状态。必须以某种方式破解这个特定于Safari的问题。

3 个答案:

答案 0 :(得分:0)

这个问题的答案可能会给你提示如何继续。 Firefox中会发生什么?

Safari iphone/ipad "mouse hover" on new link after prior one is replaced with javascript

答案 1 :(得分:0)

最新版本的“Webkit Nightly”已修复此问题。几乎肯定会出现在Safari的下一个主要版本中。

答案 2 :(得分:0)

当使用触控板或滚轮滚动时,Safari不检测鼠标位置(因此触发悬停状态),除非您正在与之交互的对象位于可滚动的div内。您可以将div集内的整个内容Feed嵌套到overflow:scroll;,以便在滚动时进行动态定位。然后*设置你的div以填满整个屏幕,你给出了滚动页面的外观,而实际上只在div内滚动。

查看此JSFiddle示例:http://jsfiddle.net/8Nkpr/26/

Graham Hicks的这个例子:http://jsfiddle.net/U7SGh/

-

*显然,如果您正在进行依赖于使用JQuery检测滚动位置的任何动画或交互,这将成为一个问题。对不起,伙伴们,没有这个技巧的视差。

**这就是ex.fm(如原始问题中所述)解决它的方式。

***感谢Graham Hicks(@gmh)指出我们正确的方向。