gpt4 book ai didi

jQuery - 单击 LI,显示/隐藏 UL - 单击 LI :a href, 继续显示 UL 并在空白窗口中打开

转载 作者:行者123 更新时间:2023-12-01 02:04:27 27 4
gpt4 key购买 nike

感谢 SO 的出色贡献者!当您开始了解 jQuery 时,它会变得更酷。 :)

所以我有一个 LI,单击时会显示/隐藏子 UL。我想做的是能够单击 LI 内的链接,打开一个空白窗口,但也不会关闭子 UL。空白窗口打开完成

a[href^="http://"]').attr("target", "_blank");

但是,我不确定如何在 LI 上“return: false”,这样当空白窗口打开时它不会关闭 UL。我希望用户在关闭空白窗口时能够看到他们所在的子 UL。

如果不清楚,请告诉我。

谢谢!

最佳答案

我认为您正在寻找的可能是 event.stopPropagation()

这是文档:http://api.jquery.com/event.stopPropagation/

基本上,当您单击 <a> 时,会发生什么情况? ,点击事件正在触发,但由于它包含在 <li> 中点击事件也会在其上触发。事件从子级传递到父级的过程称为事件冒泡。您可以使用 event.stopPropagation() 来停止它。

假设您有一个如下所示的 HTML 结构:

<ul>
<li class="reveal">One<br />
<a href="http://www.google.com" target="_blank">Google</a>
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
</li>
<li class="reveal">Two<br />
<a href="http://www.google.com" target="_blank">Google</a>
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
</li>
<li class="reveal">Three<br />
<a href="http://www.google.com" target="_blank">Google</a>
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
</li>
</ul>

此外,我们会说您有一个 CSS 规则:

ul ul { display: none; }

应用这个 jQuery,你应该得到你正在寻找的结果:

$(function () {
$('.reveal').click(function() {
$(this).children('ul').slideToggle();
});

$('.reveal a').click(function(event) {
event.stopPropagation();
});
});

以下是该操作的现场演示:http://jsfiddle.net/PaxTg/

关于jQuery - 单击 LI,显示/隐藏 UL - 单击 LI :a href, 继续显示 UL 并在空白窗口中打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3535442/

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