【发布时间】:2013-05-04 13:59:49
【问题描述】:
有解决方法吗?我正在运行我自己的自定义滚动条脚本,而不是使用内置的浏览器功能。出于多种原因,我更喜欢将 SVG 用于我的图像元素,但其中一个非常重要的缺陷是触摸或鼠标滑过 svg 会阻止事件,从而使页面滚动停止。这在 svg 可能占据整个文档宽度的移动浏览器上更为明显,在这种情况下,一旦您到达 SVG 元素,用户就无法滚动过去。
我没有在 IE 中测试过,但是在 Chrome 中,触摸命令在 SVG 上不起作用,而在 Firefox 上,鼠标滚轮事件是个问题。我想它都会在 IE 上哈哈。
一个不错的解决方案是以某种方式向我的 SVG 元素添加一个事件,以捕获这些事件并将它们传递给滚动事件。我似乎找不到方法。一个更好的解决方案是以某种方式将文档放在 SVG 上方,这样 SVG 就不会干扰滚动。再次,似乎找不到方法。
我将我的 SVG 元素嵌入到对象标签中,出于各种原因,这很重要。我假设对象标签实际上是罪魁祸首。
【问题讨论】:
-
这是一种奇怪的行为,SVG 中是否嵌入了任何 javascript?将
object {pointer-events: none;}添加到您的 CSS 中应该可以解决 Firefox 和 Chrome(但不是 IE)中的问题。
标签: javascript html svg