Javascript 有没有办法强制浏览器';重新评估鼠标位置的窗口对象?

Javascript 有没有办法强制浏览器';重新评估鼠标位置的窗口对象?,javascript,iframe,mouse,Javascript,Iframe,Mouse,我有一个内容管理工具,它使用iFrame在页面上堆叠内容块。系统会将每个块的内容加载到iframe中,并带有一个封面和一些用于编辑功能(编辑、删除、复制和移动)的按钮。封面仅出现在mouseover上(使用CSS:hover伪类),因此页面内容看起来与实际内容完全相同,除非用户将鼠标移到要编辑的块上。这一切都很好 问题在于移动块。我开发了一个用于移动积木的拖放系统。用户将鼠标放在移动图标上,然后将块拖动到他们需要的位置。在mousedown上,块本身(整个iframe)被隐藏(display:n

我有一个内容管理工具,它使用iFrame在页面上堆叠内容块。系统会将每个块的内容加载到iframe中,并带有一个封面和一些用于编辑功能(编辑、删除、复制和移动)的按钮。封面仅出现在mouseover上(使用CSS:hover伪类),因此页面内容看起来与实际内容完全相同,除非用户将鼠标移到要编辑的块上。这一切都很好

问题在于移动块。我开发了一个用于移动积木的拖放系统。用户将鼠标放在移动图标上,然后将块拖动到他们需要的位置。在mousedown上,块本身(整个iframe)被隐藏(display:none),并替换为相同形状的阴影div,然后将其四处拖动。如果用户选择将块放置在新位置,则一切正常,但如果用户将块放置在其他位置,则操作将被取消。阴影将被消除,原始iframe将重新显示

现在的问题是:当重新显示原始iframe时,它仍然认为鼠标悬停在它上面,并且所有只显示在:hover伪类下的层都显示出来(在FireFox和IE中,而不是在Chrome中)。将鼠标移到块上,然后再次移出,将重置iframe状态,但我正在寻找一种方法,以强制iframe重新评估鼠标位置,而无需用户执行任何操作


一种解决方案是用鼠标事件和指定的类替换伪类,但我想知道是否还有其他解决方案。

除非您只针对最新的浏览器(在旧的IE中,除了anchor之外,没有任何本机:hover事件),否则您应该跳过:hover方法,继续使用您正在使用的浏览器(正确地)假设是一个解决方案——意味着使用css类和js事件来确定块的状态