例如:打开this simple jsfiddle并按如下方式放置窗口:

:然后将光标放在jsfiddle红色区域上,使其变为:hover (绿色),然后将光标移动到另一个窗口。区域仍然是绿色的!如何避免这种情况?
发布于 2012-08-15 21:50:42
您必须单击新窗口才能使悬停元素失去焦点。即使您将鼠标悬停在不同的窗口上,jsFiddle窗口仍具有焦点。在单击新窗口之前,窗口焦点不会改变。
发布于 2012-08-15 22:01:50
我不认为您可以显式地删除:hover。你可以做的就是改变你的css,要求一些外部容器有一个类,然后在窗口失去焦点时删除它:
JS
$(window).focus(function () {
$("#outer").addClass('focusedContainer');
});
$(window).blur(function () {
$("#outer").removeClass('focusedContainer');
});CSS
.button{
background: red;
}
.focusedContainer>.button:hover{
background: green;
}https://stackoverflow.com/questions/11970483
复制相似问题