Javascript SVG阻止触摸/鼠标滚轮事件

Javascript SVG阻止触摸/鼠标滚轮事件,javascript,html,svg,Javascript,Html,Svg,有解决办法吗?我运行自己的自定义滚动条脚本,而不是使用内置的浏览器功能。出于许多原因,我更喜欢将SVG用于图像元素,但其中一个相当大的缺陷是触摸或鼠标滑过SVG会阻止事件,从而导致页面滚动停止。这在移动浏览器上更为明显,在移动浏览器中,svg可能占据文档的整个宽度,在这种情况下,一旦找到svg元素,用户就无法滚动过去 我还没有在IE中测试过,但是在Chrome中,触摸命令在SVG上不起作用,而在Firefox上,鼠标滚轮事件是一个问题。我想这两个都会在IE上,哈哈 一个不错的解决方案是在SVG元

有解决办法吗?我运行自己的自定义滚动条脚本,而不是使用内置的浏览器功能。出于许多原因,我更喜欢将SVG用于图像元素,但其中一个相当大的缺陷是触摸或鼠标滑过SVG会阻止事件,从而导致页面滚动停止。这在移动浏览器上更为明显,在移动浏览器中,svg可能占据文档的整个宽度,在这种情况下,一旦找到svg元素,用户就无法滚动过去

我还没有在IE中测试过,但是在Chrome中,触摸命令在SVG上不起作用,而在Firefox上,鼠标滚轮事件是一个问题。我想这两个都会在IE上,哈哈

一个不错的解决方案是在SVG元素中添加一个事件,捕捉事件并将其传递到滚动事件中。我似乎找不到办法。更好的解决方案是以某种方式将文档置于SVG之上,这样SVG就不会干扰滚动。再一次,我似乎找不到办法


我将SVG元素嵌入到对象标记中,这对于各种原因都很重要。我假设object标签实际上是罪魁祸首。

根据Duopixel的评论。添加:

object {
    pointer-events: none;
}
使用css确实解决了Firefox和Chrome中的问题。我仍然需要在IE中进行测试,但目前看来这似乎是最好、最简单的解决方案

一篇解释指针事件属性的好文章可以在


如果上面提到的问题是IE中的问题,那么可以使用javascript解决方案,该解决方案需要捕获指针的位置并将其传递给适当的元素。可以在这里找到一个使用jQuery但很容易翻译成普通javascript的工作版本:

这是一个奇怪的行为,SVG是否嵌入了javascript?在CSS中添加
object{pointer events:none;}
可以解决Firefox和Chrome(但不是IE)中的问题。另外还有一个可以发布好的问题并发布更好的答案。