Javascript - 使整个div可点击

时间:2014-09-23 04:36:47

标签: javascript event-handling

我有一个父div元素,在其中有一个子div元素。现在有一个子div的点击处理程序,它带有一个下拉菜单(如菜单)。

要求 - 也是点击父div的下拉列表。

注意 - 单击父div时,激活childdiv.click()将无效,无限循环。

无法进行停止传播,使下拉列表无法正常工作。

2 个答案:

答案 0 :(得分:0)



$(document).ready(function(){
  
  $("#child").click(function(){
      $("ul").slideUp();
  })
  
  $("#parent").click(function(){
      $("#child").trigger("click");
  })

})

#parent {
  padding: 50px;
  background: red;
}
#child {
  height: 50px;
  background: green;
  color: white;
}
li {
  background: rgba(0,0,255,0.3);
  border: 2px solid black;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="parent">Parent
  <div id="child">
    Child
    <ul id="menu" class="hide">
      <li>menu1</li>
      <li>menu2</li>
    </ul>
  </div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

尝试添加父onclick事件处理程序,然后使用event.stopPropagation来停止事件冒泡。

$("#child").click(function(e){
  e.stopPropagation();
  $("ul").slideToggle();
});

$("#parent").click(function(e){
  $("#child").trigger("click");
});

CHECK FIDDLE这就是你想要的吗?不确定下一步你想做什么。添加代码会更容易帮助。