gpt4 book ai didi

javascript - 解除 child 点击 Accordion 的绑定(bind)

转载 作者:行者123 更新时间:2023-11-28 04:40:09 26 4
gpt4 key购买 nike

我有一个为 SharePoint 编写的 Accordion 菜单:

parent.click(function(event) {
event.preventDefault();
var childUL = $(this).closest("li").find("> ul");
var isVisible = childUL.is(":visible");

if($(e.target).hasId("#zz12_V4QuickLaunchMenu ul > ul > li > a")){
e.stopPropagation();
}
else if (isVisible) {
childUL.slideUp();
} else {
childUL.slideDown();
}
});

我遇到的问题与父项有关 <li>的。如果父列表项有一个 url,我必须使用 preventDefault确保 onClick事件不会正常触发,因此子菜单会显示。但是,我发现因为我激活了prevent default,所以当您点击它们而不是触发正常的点击事件时,所有链接基本上都会向上/向下滑动。我不知道在哪里/如何实现解除绑定(bind)事件。

jsfiddle updated.

编辑:根据下面的答案,我找到了我需要的结构并且能够停止传播。但是,它会在整个函数中停止它。有人可以帮我找出正确的选择器吗?不熟悉下面建议的节点名称,因为它嵌套在 SharePoint 的五百万个 css 类中。我想使用尽可能直接的选择器。如果您愿意提供帮助,请写出实际示例,谢谢!

最佳答案

你需要:

  • 识别点击是否在子菜单中的链接上
  • 如果是,应用 event.stopPropagation();

然后,子菜单中的链接将像普通链接一样运行。


进一步阅读: https://developer.mozilla.org/en/docs/Web/API/Event/stopPropagation

关于javascript - 解除 child 点击 Accordion 的绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41241231/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com