代码之家  ›  专栏  ›  技术社区  ›  Mark A. Nicolosi

在IE6上具有两个浮动元素的DIV的Click事件

  •  0
  • Mark A. Nicolosi  · 技术社区  · 15 年前

    我有一个 <div> 里面有两个浮动元素。我正在使用jquery将Click事件处理程序附加到此 <DIV & GT; . 只有当我单击两个浮动元素中的一个时,才会调用该处理程序。里面的空位 <DIV & GT; 不起作用。

    标记如下所示:

    <div class="wrapper">
      <h4>Some lovely header text here</h4>
      <img src="images/plus.png"/>
      <div style="clear: both;"/>
    </div>
    

    这是我的javascript(我也在使用其他事件):

    // Expand scenarios when clicked on
    scenario_header.live("click", function() { 
      $(this).toggleClass("expanded");
      $("+ div", this).slideToggle();
    });
    
    // Toggle hover class when hovering
    scenario_header.live("mouseover", function() {
      $(this).toggleClass("hover");
    });
    scenario_header.live("mouseout", function() {
      $(this).toggleClass("hover");
    });
    

    这在Firefox中非常有效。有什么想法吗?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Ionuț G. Stan    15 年前

    我想你必须应用一些额外的CSS,这样包装器 DIV 真的包裹着孩子们。这样就足够了:

    div {
     overflow: hidden;
     display: inline-block; /* weird stuff, but it's needed for IE6 */
    }
    div {
     display: block; /* needed to reset display for non IE6 browsers */
    }