gpt4 book ai didi

javascript - 类(Class)后代扰乱事件

转载 作者:行者123 更新时间:2023-12-02 18:09:11 25 4
gpt4 key购买 nike

我有一个简单的下拉菜单。当您单击.drop-down时,子菜单会向下滑动。但是,如果您单击 .drop-down 的任何子级,它会再次向上滑动。我只需要单击来滑动菜单的 .drop-down,而不需要其后代。

这是在行动:http://jsfiddle.net/tmyie/uXn5k/2/

<ul>
<li class="drop-down">
<a href="#"> Main </a>
<ul class="sub-menu">
<li><a href="#">Sub</a> </li>
<li><a href="#">Sub</a> </li>
<li><a href="#">Sub</a> </li>
</ul>
</li>
<li><a href="#">Main</a> </li>
<li><a href="#">Main</a> </li>
<li><a href="#">Main</a> </li>
<li><a href="#">Main</a> </li>
</ul>

jQuery

$( ".drop-down" ).click(function() {
$('.sub-menu').slideToggle();
});

$('.drop-down').fadeTo('slow', 0.3);

http://jsfiddle.net/tmyie/uXn5k/2/

最佳答案

专门针对a

$( ".drop-down>a" ).click(function() {
$('.sub-menu').slideToggle();
});

$('.drop-down').fadeTo('slow', 0.3);

或者,只需将类从 li 移动到 a

<ul>
<li>
<a href="#" class="drop-down"> Main </a>
<ul class="sub-menu">
<li><a href="#">Sub</a> </li>
<li><a href="#">Sub</a> </li>
<li><a href="#">Sub</a> </li>
</ul></li>
<li><a href="#">Main</a> </li>
<li><a href="#">Main</a> </li>
<li><a href="#">Main</a> </li>
<li><a href="#">Main</a> </li>
</ul>

编辑:

顺便说一句,使用此脚本您会遇到多个下拉菜单的麻烦。考虑进行以下更改:

   $( ".drop-down>a" ).on("click", function() {
$(this).siblings('.sub-menu').slideToggle();
});

$('.drop-down').fadeTo('slow', 0.3);

http://jsfiddle.net/uXn5k/6/

关于javascript - 类(Class)后代扰乱事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19838441/

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