为什么,在IE 8上,是jQuery slideToggle删除边距,但只有在点击文本时?

时间:2011-03-16 22:56:05

标签: jquery css internet-explorer

我有一个问题,这只发生在IE浏览器中,8但未测试其他版本。一切都在FF中按预期工作。

以下是标记的基础知识,可以找到完整的问题here

    <div class="container"> 
         <div class="subHead">A Heading</div>
         <table>
             some table stuff
         </table>
    </div>

    <div class="container"> 
         <div class="subHead">Another Heading</div>
         <table>
             some table stuff
         </table>
    </div>

我已经在子标题上附加了一些jquery事件处理程序,以便在点击时滑动切换其兄弟div。在IE(至少8)中,当点击不包含文本的div的一部分时,一切都按预期工作。当点击文本部分例如:“A heading”时,兄弟div切换打开或关闭但是当关闭父div的底部边缘消失时。

问题在demo fiddle

中非常明显

我完全不知道这里发生了什么。我已经尝试向父母添加宽度并切换div以强制使用hasLayout,但结果因点击内容而有所不同。

要添加到拼图中的另一个部分,将IE 8放入Compatability View可以解决问题,但这不是我所看到的解决方案。

希望有人可以提供帮助。

1 个答案:

答案 0 :(得分:4)

不确定原因或真正的解决方案,但在使用IE时,overflow:hidden;/overflow:auto是我最好的朋友。将一个或另一个添加到.EventsContainer似乎可以解决问题。