Javascript Rafael.js中未触发鼠标移出事件

Javascript Rafael.js中未触发鼠标移出事件,javascript,internet-explorer,dom-events,raphael,Javascript,Internet Explorer,Dom Events,Raphael,我用Raphael.js绘制了许多形状,当鼠标滚动时,我需要添加阴影并稍微放大。在Firefox和Chrome中,我的一切都运行得很好,但在Internet Explorer中,mouseout事件似乎没有启动 这是每个六边形的mouseover/mouseout代码(六边形是对rafael元素的引用,这/\u Promise是对定义事件的类的引用): 在IE(直到并包括版本9)中,六边形形状只是越来越大,因为mouseout事件没有触发。我在那里放了一些控制台。日志来检查情况是否确实如此 如有

我用Raphael.js绘制了许多形状,当鼠标滚动时,我需要添加阴影并稍微放大。在Firefox和Chrome中,我的一切都运行得很好,但在Internet Explorer中,
mouseout
事件似乎没有启动

这是每个六边形的
mouseover
/
mouseout
代码(六边形是对rafael元素的引用,
/
\u Promise
是对定义事件的类的引用):

在IE(直到并包括版本9)中,六边形形状只是越来越大,因为
mouseout
事件没有触发。我在那里放了一些
控制台。日志
来检查情况是否确实如此


如有任何建议,将不胜感激

IE上的事件冒泡机制不同,因此会为
mouseover
/
mouseout
事件生成不稳定的行为,但它们的创新(是的,我们仍在谈论IE!)起到了解救作用

您可以使用IE的
mouseenter
mouseleave
代替标准的
mouseover
mouseout
,以实现一致的行为。当然,您必须从Raphaël的API中退出并单独实现这些:绑定另一个事件侦听器并传递IE特定的事件类型,因为您必须为版本6-8调用遗留代码,在这些版本上使用
attachEvent
,或者为版本9以后的版本使用
addEventListener

您可以在上阅读有关这些IE特定事件的更多信息


如果您更喜欢使用jQuery来实现这一点,他们已经考虑过了,将其作为API的一部分提供。

您是否有机会添加一些代码,以便我们可以处理它?
    this.hexagon.mouseover(function(){
        _Promise.hexagon.toFront();
        _Promise.hexagon.attr( { "transform": "...s" + scaleAmountOnRollover } );
        _Promise.shadow = _Promise.hexagon.glow({ "width": 8, "opacity": 0.4 });
    });

    this.hexagon.mouseout(function(){
        _Promise.hexagon.attr( { "transform": "...s" + (1/scaleAmountOnRollover) } );
        _Promise.shadow.remove();
    });