【发布时间】:2011-01-10 15:55:05
【问题描述】:
我有一个 div,里面有一个子 div。每当鼠标悬停在父 div 上时,我使用 jQuery 显示/隐藏子 div(父 div 跨越页面的整个底部。宽度:100% 和高度 100px)。我已经使用了 firebug 和 ie 开发者工具栏来确认父 div 在页面上。
我可以将鼠标悬停在 Chrome 和 FireFox 中的空父 div 上,一切正常。 IE 要求我在里面有某种文本可以悬停在上面。 div 悬停事件不会仅以空 div 触发。
此问题的所有可行解决方法?
--更新
尝试了你所有的建议,但没有任何效果。
<div id="toolBar">
<div>
<button id="btnPin" title="Click to pin toolbar" type="button">
<img id="pin" src="../../images/icons/unpin.png" alt="Pin" /></button>
<img src="../../images/icons/search.png" border="0" alt="Search" />
</div>
</div>
上面的 html 包含在母版页 div 容器中。子 div 被 jQuery 隐藏,带有一些悬停输入/输出事件。父 div(工具栏)始终在页面上可见。当在 toolBar 上发生悬停时,将显示子 div。
这是 jQuery 代码
$('#toolBar').hover(ToolBar_OnHover, ToolBar_OnBlur);
function ToolBar_OnHover() {
$(this).children().fadeIn('fast');
$(this).animate({ height: "100px" }, "fast");
}
function ToolBar_OnBlur() {
$(this).children().fadeOut('fast');
$(this).animate({ height: "50px" }, "fast");
}
最后是一点css
#toolBar { width: 100%; height: 100px; text-align:center; vertical-align:middle; position: absolute; bottom: 0; background-color: Transparent; }
#toolBar div { padding: 5px 5px 0px 5px; width:75%; height: 95px; background: transparent url('/images/toolbar-background.png') repeat-x; margin-right: auto; margin-left: auto; }
【问题讨论】:
-
你说你设置了父div的高度和宽度,你给子div做了同样的事情吗?
-
我刚用IE7试了一下。为我工作。
-
该死的,我有 IE9,但它仍然有这个错误(在边缘模式下)。我添加了纯色,元素是可点击和可悬停的,否则不是。有人可以在地狱中烧毁IE团队吗?没有别的了。
-
在 IE 9 中它确实是错误。在这种情况下,IE 8 和 7 更好。
-
IE10 中也会出现这种情况。杀死它,用火杀死它。
标签: jquery internet-explorer hover mousehover