2

在我的代码中,我有一个 id 为“SIAinfoBox”的 div,它将加载不同的详细信息,具体取决于鼠标当前所在的 div。我将以下两个侦听器附加到每个相关的 div 中:

$(annoDiv).mouseover(function(event){
                event.stopPropagation;
                $('#SIAinfoBox').empty();
                $('#SIAinfoBox').append(details);
                $('#SIAinfoBox').css('visibility','visible');
            });
$(annoDiv).mouseleave(function(event){
                event.stopPropagation;
                $('#SIAinfoBox').empty();
                $('#SIAinfoBox').css('visibility','hidden');
            });

这些 div 没有设置背景颜色,但有一个 1px 的纯黑色边框。在 Firefox 中,一切正常。但在 Internet Explorer 中,只有当鼠标移到 div 的边框上时,才会填充 SIAinfoBox。在 div 内移动它似乎会触发 mouseleave 事件,并且内容被删除并隐藏 div。如果我设置背景颜色,它会像预期的那样工作,但是没有背景颜色(或透明)它不起作用。我也尝试过使用 mouseenter 而不是 mouseover,但结果相同。为什么 InternetExplorer 会这样,或者我可以做些什么来实现我目前在 FF for IE 中获得的结果?

4

3 回答 3

6

我遇到过类似的 IE 相关问题,例如 - 你可以制作一个透明的 png 并将背景设置为“url(images/transparent.png) 重复滚动 0 0 透明” – SmokeyPHP

没有先找到他的评论,所以我把它移到这里作为答案。可以通过以下链接找到透明图像:

答案: style="background:url(images/transparent.png) 重复滚动 0 0 透明"

透明 gif: http ://www.golivetutor.com/download/spacer.gif

于 2011-10-24T11:48:41.113 回答
0

我经历过应用 css 样式技巧

{
  zoom: 1;
}

适用于 IE 9,但不适用于 IE 10。如果您没有可用的透明 GIF 或 PNG,如某些其他解决方案中所述,您也可以使用:

{
  background-color: rgba(0, 0, 0, 0.1);
}

请注意,您需要避免在 IE 8 中应用此样式,因为它似乎会导致问题。"rgba"适用于 IE9 及更高版本

于 2014-03-09T23:29:57.223 回答
0

这是错误,当背景透明时,事件的元素也“透明”。尝试使用“有布局”(例如缩放:1),如果没有帮助,请将背景中的透明 gif 图像设置为元素

于 2011-10-17T21:37:08.583 回答