【发布时间】:2011-11-27 20:21:51
【问题描述】:
我在 IE 浏览器上使用 Raphael 获得 SVG 效果时遇到了问题。当我将鼠标悬停在一个对象上时,动画会按预期发生。但是,在 mouseout 时,永远不会调用 mouseout 操作,因此对象会停留在其鼠标悬停状态。
过去我看到其他人抱怨这个问题,但我看到的唯一解决方案是强制每个对象上的 mouseover 事件将所有内容 != 当前对象返回到它们的正常状态。我宁愿不做一般的“重置一切”,因为我有很多对象,所以我想知道是否有人可以提出替代方案。我正在考虑将最后一个触发鼠标悬停的最后一个对象存储在一个变量中,并且只在每次鼠标悬停时重置它,这可以工作....
【问题讨论】:
-
你有没有发现在这里做什么?我似乎无法解决 onmouseout 问题。
-
不幸的是我没有。当另一个对象触发鼠标悬停时,我被要求对所有其他对象执行“重置”以将它们恢复到正常状态。我的项目是一张带有标签的美国地图,鼠标悬停时会显示某些城市。这些城市中的每一个都是一个州的子级,并且必须继承 mouseover 属性才能否定先前的 mouseover 事件。这只是一团糟。不过,在其他浏览器中效果很好……祝你好运。如果您发现了什么,请更新此帖子。
-
我的也是美国地图。对于 IE,我最终添加了一个全局跟踪变量“current”,用于重置之前悬停的状态。当鼠标悬停在下一个状态时,onmouseover 方法首先重置前一个状态,然后用当前状态更新变量。这也让我可以通过从提供相同功能但没有地图的下载列表中选择一个状态来重置之前悬停的状态。
-
stackoverflow.com/questions/3908812/… 有一个很好的解决方案
标签: javascript internet-explorer raphael mouseover mouseout