Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >jQuery -单击菜单项时停止关闭折叠菜单

jQuery -单击菜单项时停止关闭折叠菜单
EN

Stack Overflow用户
提问于 2012-11-28 13:52:00
回答 2查看 4.8K关注 0票数 3

如何在单击子菜单链接时停止关闭折叠菜单ul.子菜单?

当单击父项时,accordion打开时会被罚款,但当在其下面的级别中单击子菜单项时,它将再次关闭。

这是我的HTML:

代码语言:javascript
运行
AI代码解释
复制
<ul class="menu">
  <li><a href="#">parent 1</a>
        <ul class="sub-menu">
            <li><a href="#">1st child item</a></li>
        </ul>
  </li>
    <li><a href="#">parent 2</a>
    <ul class="sub-menu current-menu-parent">
        <li><a href="#">2nd child item</a></li>
        <li class="current-menu-item"><a href="#">3rd child item</a></li>
    </ul>
  </li>
  <li><a href="#">parent 3</a>
        <ul class="sub-menu">
            <li><a href="#">4th child item</a></li>
        </ul>
  </li>    
</ul>​​​​​​​​

下面是我的jquery:

代码语言:javascript
运行
AI代码解释
复制
jQuery(function($) {
    $(".menu > li").children("a").attr('href', 'javascript:void(0)');
    $('.sub-menu').hide();  
    $('.current-menu-parent').show();    
    $('.menu > li').click(function() {
        $(this).find('ul').slideToggle('slow');
    });
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-28 14:23:58

手风琴给你,

HTML :

代码语言:javascript
运行
AI代码解释
复制
<ul class="menu">
  <li><a href="javascript:void(0)">parent 1</a>
        <ul class="sub-menu">
            <li><a href="#">1st child item</a></li>
        </ul>
  </li>
    <li><a href="javascript:void(0)">parent 2</a>
    <ul class="sub-menu current-menu-item">
        <li><a href="#">2nd child item</a></li>
        <li><a href="#">3rd child item</a></li>
    </ul>
  </li>
  <li><a href="javascript:void(0)">parent 3</a>
        <ul class="sub-menu">
            <li><a href="#">4th child item</a></li>
        </ul>
  </li>    
</ul>​​​​​​​​

CSS:

代码语言:javascript
运行
AI代码解释
复制
<style>
.sub-menu{
    display:none;
}
.current-menu-item{
    display:block;
}
</style>

JS:

代码语言:javascript
运行
AI代码解释
复制
rel = 0;


$('.sub-menu').hover(function(){ // findind mouse postion
        rel = 1; // if mouse on submenu
    }, function(){ 
        rel = 0;  if mouse out submanu
});
$('.menu > li').live("click",function(){


        if(!$(this).hasClass("active")){ // if not already opened
            $('.sub-menu').slideUp();    // hide all other submenu
            $('.sub-menu',this).slideDown();  // show which your clicked
            $(".menu > li").remove('active');  //  remove all active class in li
            $(this).addClass('active'); //adding active class which your clicked li
        }
        else{
            if(rel==0){
                $('.sub-menu').slideUp(); // if clicked already opend parent that will close
                $(this).removeClass('active'); // remove all active class
            }
            else{

            }
        }
});
票数 1
EN

Stack Overflow用户

发布于 2012-11-28 13:57:36

编辑

使用event.stopPropagation()而不是return语句来停止将事件传播到父级。

代码语言:javascript
运行
AI代码解释
复制
$('.menu li a').click(function(e) {
    if(!$(this).closest('ul').hasClass('menu')) e.stopPropagation();
});

演示http://jsfiddle.net/qNyR6/1/

添加以下代码将会起作用:

代码语言:javascript
运行
AI代码解释
复制
$('.menu li a').click(function() {
    return $(this).closest('ul').hasClass('menu');
});

这将确保在<a>标签上的点击不会传播到父<li>,从而导致菜单折叠(即折叠,因为它已经处于展开状态)

演示: http://jsfiddle.net/qNyR6/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13606666

复制
相关文章
13、Java菜单条、菜单、菜单项
13、Java菜单条、菜单、菜单项 一般用Java做界面时,都得牵涉到菜单条、菜单、菜单项的设计。菜单项放在菜单里,菜单放在菜单条里,且其字体均可设置。 13.1、菜单条(Menubar) Fram
YGingko
2017/12/28
3.3K0
bootstrap 下拉菜单 禁用菜单项
 <div class="dropdown"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"> 下拉菜单<span class="caret"></span> </button> <ul class="dropdown-menu"> <li><a href="#">菜单项1</a></li> <li class="disabled"><a href="#">菜单项2</a></li> <li><a href="#">菜单项3</a></li> </ul> </div>
用户5760343
2019/07/05
2.3K0
初学java之菜单条,菜单,菜单项的设置
1 package project; 2 import javax.swing.*; 3 4 import java.awt.event.KeyEvent; 5 import java.awt.event.InputEvent; 6 import static javax.swing.JFrame.*; 7 class WindowMenu extends JFrame //JFrame的子类 8 { 9 JMenuBar myBar ; 10 JMenu menu , su
Gxjun
2018/03/22
2.1K0
利用JQuery实现左侧菜单栏可折叠功能
今天给大家介绍一下左侧菜单栏可折叠功能,在后台管理中左侧菜单折叠功能是特别常见的一个功能,基本不管是什么类型的管理后台都会涉及到这个功能的实现。 今天给大家介绍的是二级可折叠菜单的功能,相对一级的菜单
林老师带你学编程
2018/01/04
7.1K0
利用JQuery实现左侧菜单栏可折叠功能
jQuery 双击事件(dblclick)时,不触发单击事件(click)
在jQuery的事件绑定中,执行双击事件(dblclick)时能触发两次单击事件(click)。即一个标签元素(如div等),如果元素同时绑定了单击事件(click)和双击事件(dblclick),那么执行单击事件(click)时,不会触发双击事件(dblclick), 执行双击事件(dblclick)时却会触发两次单击事件(click)。 先看一下点击事件的执行顺序:
飞奔去旅行
2019/06/13
5.4K0
【愚公系列】2023年10月 WPF控件专题 Expander控件详解
WPF控件是Windows Presentation Foundation(WPF)中的基本用户界面元素。它们是可视化对象,可以用来创建各种用户界面。WPF控件可以分为两类:原生控件和自定义控件。
愚公搬代码
2023/10/08
9820
Jquery的折叠效果
在进行web前端开发中,会有一些关于介绍的页面,在这些页面里有类似名词解释的,如果直接将解释和名词放在页面上就会使整个页面显得东西凌乱,且不易于查看自己需要的名词,这时可以用到折叠的方式来解决。即点击名词,将名词的解释展开,再次点击名词,名词解释合上。下面我来说说通过jquery来实现折叠效果,来看代码:
OECOM
2020/07/01
3.9K0
WiX安装选项---开始菜单项
参考文档: How To: Create a Shortcut on the Start Menu,How To: Create an Uninstall Shortcut 制作的安装程序安装后,都要
张善友
2018/01/19
1.2K0
展开与折叠菜单动画
最简单的展开与折叠菜单,一般是通过切换display属性的none和block的值来实现。但是这样会使得整个过程非常的生硬,内容是一瞬间展示给用户,交互过程感觉不是特别好。我们加上动画以后让整个过程更加柔和。
_kyle
2020/08/24
3.8K0
展开与折叠菜单动画
Wijmo 更优美的jQuery UI部件集:自定义 C1WijMenu
C1Wijmo 全部的控件是完全可定制的,并且可以根据你自己的需求定制他们的界面外观。 我准备使用C1Menu演示这一点。 让我们从向控件应用自定义主题开始。 改变主题 1) 创建一个网站,然后拖放一个C1Menu到web页面上。 2) 单击智能标记,并打开任务菜单。 3) 在主题属性中输入CDN的URL以指定主题。 例如,在我们的这个例子中,我们应用ui-darkness 主题 http://jquery-ui.googlecode.com/svn/tags/1.8.14/themes/ui-darkne
葡萄城控件
2018/01/10
1K0
Wijmo 更优美的jQuery UI部件集:自定义 C1WijMenu
EasyGBS程序停止时内核未能关闭,应该如何优化?【附代码】
去年TSINGSEE青犀视频对旗下的EasyDSS、EasyGBS等视频平台陆续更换了新内核版本。新内核版本性能更加稳定,感兴趣的用户可以前往官网进行使用体验。
TSINGSEE青犀视频
2022/01/12
5360
jquery 置顶菜单
注意:当Banner图片完全上移出了浏览器可视区域,此时菜单固定定位在文档的最上方。
Devops海洋的渔夫
2019/06/02
4K0
jQuery实现单击页面产生随机字符效果
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
浩Coding
2019/07/02
2.7K0
jQuery实现单击页面产生随机字符效果
android滑动监听事件折叠菜单
1.定义两个title布局 2.监听ScrollView控件在下面布局不可见的时候显示第二个title布局
tea9
2022/07/16
1.9K0
android滑动监听事件折叠菜单
TortoiseSVN每个菜单项都表示什么意思
TortoiseSVN是windows下其中一个非常优秀的SVN客户端工具。通过使用它,我们可以可视化的管理我们的版本库。不过由于它只是一个客户端,所以它不能对版本库进行权限管理。
用户7657330
2020/08/14
1.2K0
Unity Odin从入门到精通(二):创建编辑器窗口「建议收藏」
前言:开发者可以使用Odin来快速地创建编辑器窗口,从而更加高效的组织项目中的数据。
全栈程序员站长
2022/09/13
3.8K0
自写JQ控件-树状菜单控件[demo下载]
一个多月没有写博客了,最近也弄一个基于JQ的树状菜单控件,在此分享给大家。另外呢,通过这个例子分享一下怎么写JQ控件的。
全栈程序员站长
2021/04/07
1.9K0
JQuery实现层级菜单
效果图: HTML代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>层级菜单</title>
汪凡
2019/03/01
3.7K0
JQuery实现层级菜单
eclipse关闭讨厌的菜单
1. 不知道动哪了,开启了这个菜单: 2. 很感谢群友帮我找到关闭方法,点击 如下 按钮: 然后就正常了。
微风-- 轻许--
2022/04/13
3910
eclipse关闭讨厌的菜单
点击加载更多

相似问题

Twitter Bootstrap响应菜单/小型设备:单击菜单项时关闭/折叠菜单

34

关闭折叠菜单时的jquery停止图像滑块

11

单击菜单项时,移动菜单不会折叠

17

在菜单项单击或菜单按钮单击时折叠的Jquery响应导航栏

18

单击菜单项后关闭的jquery移动菜单

34
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文