我正在构建一个应用程序,允许您通过单击它们将列表项从一个列表移动到另一个列表.但是,为了让用户知道clik的预期操作是什么,我在CSS中设置了一个:悬停状态,显示诸如“<< move”之类的指令 我发现的问题是,在Internet Explorer(测试版本7-9)中,当我移动DOM元素时:该元素的悬停状态保持(变得粘滞),即使鼠标移动时也是如此. :当用户将鼠标悬停在其新位置的项目上然后将鼠标移开时,悬停状态才会消失.这似乎是Internet Explorer唯一的问题. 如果您通过转到
http://jsfiddle.net/hc2Eu/32/使用IE,则可以看到问题
当然有一种解决方法是不使用CSS:悬停状态并使用JQuery悬停事件代替,但这肯定不是最好的做事方式,并保持元素:在CSS中控制的悬停状态是远远的这种做法最有力.解决方法可以在http://jsfiddle.net/hc2Eu/29/看到
有没有人想出我怎么能告诉Internet Explorer一个元素不再在鼠标下面,它应该释放:悬停状态?
马特
解决方法
@H_404_11@ 尝试克隆元素而不是直接附加元素.当你追加时,你从元素的当前位置和状态中取出元素并将其置于新的位置 – 基本上只是移动它.当发生这种情况时,IE显然不会重新绘制元素,或者在鼠标悬停之前重置其状态.通过克隆它,您强制IE创建一个新元素,因为它不在页面上,无论如何都不能将悬停状态应用于它.然后将它附加到新容器中,删除原件,然后就完成了.
请参阅这个小提琴中的一个示例:两行代码,跨浏览器,您将保持简洁,不会污染您的代码. 原文链接:https://www.f2er.com/jquery/180533.html