javascript - Navbar div onclick 函数不适用于内部元素

标签 javascript jquery html css

我有一个 div 类 .dropbtn在我的导航栏中,我希望在单击时运行列表下拉功能,但只有文本 "TOTAL"工作onclick。

<span><i>当我点击它时,它里面什么都不做,我需要所有三个元素都可以点击并显示下拉功能。我正在使用 jQuery,但不是 Bootstrap。提前致谢!已编辑。

jQuery('body').on('click', '.dropbtn', function() {
  jQuery("#myDropdown").toggleClass("show");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="reservas_right">
  <div class="dropdown_reservas nav-item_reservas" id="inner_reservas_right">
    <div class="dropbtn">
      TOTAL
      <br /><span id="totalprice">0,00€</span>
      <i class="material-icons">arrow_drop_down</i>
    </div>
    <div class="dropdown-content_reservas" id="myDropdown">
      <ul id="dropul" class="dropul">
        <li id="drop1"></li>
        <li id="drop2"></li>
        <li id="drop3"></li>
        <li id="drop4"></li>
        <li id="drop5"></li>
        <li id="drop6"></li>
      </ul>

    </div>
  </div>
</div>

CSS:

.show{
    list-style-type:none;
}

最佳答案

jQuery('body').on('click', '.dropbtn', function(e) {
    if(e.target !== this && jQuery(e.target).parent().is(".dropbtn"))
    {
        jQuery("#myDropdown").toggleClass("show");
    } else {
        jQuery("#myDropdown").toggleClass("show");
    }
});

关于javascript - Navbar div onclick 函数不适用于内部元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46915061/

相关文章:

javascript - 如何使用 jqueryui 仅在其右侧调整左侧 div 的大小,以及仅在其左侧调整相邻的右侧 div 的大小?

javascript - 更改 window.location.hash 在历史记录中创建条目但不影响 chrome 后退按钮

javascript - 操纵对象结构

html - 为什么在 Internet Explorer 中输入文本的位置不同,输入阴影不显示?

html - 防止 flexbox 元素根据段落拉伸(stretch)

javascript - 二维数组 Javascript

javascript - Meteor.js 不加载 lib 文件夹的内容

javascript - 父文件创建子文件(需要一些逻辑帮助)

jquery - 点击时选项卡跳转

javascript - 前置两个div,counter click的计数相同