在 IE8 中将 DIV 从光标下方移动时,悬停样式保持不变
Hover style remains when DIV is moved from under the cursor in IE8
我有实时的jsFiddle示例
将鼠标移到其中一个"堆叠"元素上 - 悬停的项目会将其颜色更改为深色单击一个项目 - 它正在移动到堆栈的顶部。
在IE8中,它仍然"悬停"(深色背景),但现在不在鼠标光标下方!
尝试克隆元素而不是移动原始元素。对于原始元素,您将元素置于 DOM 中的当前状态并将其放置在新位置,发生这种情况时 IE 似乎不会重新绘制元素,或者重置其状态,直到您再次将鼠标悬停。
通过克隆它,您将强制 IE 创建一个新元素,并且由于它不在页面上,因此无法对其应用悬停状态。然后只需在容器中预置,删除原始文件,即可完成。
$(".elem").on('click', function(){
$(this).clone(true).prependTo('#container');
$(this).remove();
});
请参阅:http://jsfiddle.net/y8PCc/1/
感谢德米特里在这里的回答:Internet Explorer:当目标 DOM 元素在 DOM 中移动时,悬停状态变得粘滞
您可以使用类而不是伪类,并在移动后将其删除
$(".elem")
.hover(function(e){
$(this).toggleClass("elem-hover", e.type == "mouseenter");
})
.click(function(){
$(".elem:first").before(this)
$(this).removeClass("elem-hover")
})
演示 http://jsfiddle.net/ByEzV/4/
如果你把你的jQuery改成这个,它应该在ie8中工作。
$(".elem").click(function(){
$(".elem:first").before(this);
$(this).css('background', '#fff').css('color', '#000');
})
相关文章:
- 在样式表中声明元素后,删除该元素的悬停属性
- 使用CSS将鼠标悬停在子对象上时,删除父对象上的悬停样式
- IMG悬停添加样式
- Javascript/JQuery样式-#按钮:点击全屏后悬停保持活动状态
- 悬停样式应该在动态加载多级菜单时保持单击状态
- 在 IE8 中将 DIV 从光标下方移动时,悬停样式保持不变
- Html5拖放意外激活了css:悬停样式
- 使用IE筛选器时不应用悬停样式,并且无法单击元素
- jQuery自动完成悬停样式
- 悬停样式不是't应用于复制的HTML
- 覆盖悬停元素中的悬停样式
- 禁用css-应用悬停样式点击,并重新应用时,鼠标移动n像素
- 改变悬停样式颜色效果的函数
- jQuery在悬停时仍然保留其悬停样式
- 当应用鼠标悬停样式时,通过箭头键导航删除应用于列表项的选定类
- Bootstrap 3—改变导航条折叠时的悬停样式
- CSS3 Flip Dropdown Menu-将鼠标悬停在子菜单上时保留主菜单悬停样式
- javascript/jquery忽略或覆盖:悬停样式
- 在浏览HTML选择元素时保留悬停样式'的下拉菜单
- 如何获取元素:悬停样式