【发布时间】:2012-07-11 06:16:51
【问题描述】:
看看这个jsFiddle
将 jQuery 与 SVG (Raphael 2.0) 结合使用时,mouseenter/mouseleave 似乎无法正确触发。我知道开箱即用的 SVG jQuery 不是 100% 兼容 SVG,但是,据我所知,它似乎只影响 IE9。
奇怪的是,如果您快速将鼠标移开/移出 svg 元素(确保您在这样做时立即离开 HTML 窗格)并返回到该元素上,事件确实会触发(但不是每次都触发)。为了确保 on 不是一般问题,我连接了 click 事件,每次都可以正常工作。
只是想知道是否有人知道这是错误还是已知问题?
【问题讨论】:
-
@StefanFandler - “据我所知,它似乎只影响 IE9”。标记为澄清。
-
我避免像瘟疫一样将 jQuery 与 SVG 结合使用。这是一个充满此类例外的雷区。我认为您的错误与此 forum.jquery.com/topic/1-6-2-broke-svg-hover-events 有关(两年前未解决)。
-
@Duopixel 是的,我看到了那个帖子,但不想发布票,直到我确定这是一个明确的错误而不是我正在做的事情。公平地说,我需要它,jQuery 与 SVG 配合得很好。似乎只是鼠标事件,它有点不可预测。我只需要改用 Raphael。
-
你可以使用addEventListener,即jsfiddle.net/kGykG(我猜你不需要支持旧版IE,因为
$('circle')在IE 6-8中不起作用) -
@Duopixel 没错,我只支持最新的浏览器。我想保持我的代码一致,所以我想现在我将恢复使用 Raphael。虽然看我的回答,但它实际上是 jQuery 中的一个错误。
标签: jquery svg internet-explorer-9 raphael mouseevent