javascript - 具有相同类的嵌套元素上的jquery click事件

标签 javascript jquery html css

我是 jquery 的新手。我嵌套了同名的 li。我想根据点击的 li 级别设置打开类的 div 的左侧位置。但是,当我在 li 内部单击时,它占据了第一个位置。

这是我的代码

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="open">
  <ul>
    <li class="child">
      <a href="#">link1</a>
      <ul>
        <li class="child">
          <a href="#">menu link1</a>
        </li>
      </ul>
    </li>
  </ul>
</div>
<script>
  $(".child").on("click", function() {
    var l = $(this).parents('ul').length
    var a = 101 * l;
    $(".open").css({
      "left": "-" + a + "%"
    })
  })
</script>

提前致谢

最佳答案

问题是当你点击内部 li 时,两者都发生了点击,你可以在事件中使用 stopPropagation 来防止这种情况发生

关于javascript - 具有相同类的嵌套元素上的jquery click事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53724124/

相关文章:

javascript - 构造函数中定义的变量在类方法中不可用

javascript - ng-model 值中的 AngularJS 日期未传递给 Controller

HTML 将元素放在同一行

javascript - Bootstrap 3 - 将按钮对齐到底部

html - 如何删除链接 <a> 和它位于 <li> 中的列表项之间的所有填充?或者...点击 <li> 打开里面的链接?

javascript - 捕获重复组

javascript - 背景幻灯片(javascript)淡入淡出过渡效果

jquery/css : I want to change the bgcolor of row only after hovering for 1 or 2 seconds. 如何实现?

javascript - AJAX JQuery 延迟回调仅被调用一次

javascript - 滚动窗口上的动画菜单栏