Jquery:子菜单显示有悬停功能,但没有点击功能
Jquery: submenu appears with hover function but not click function
我有一个多层导航,由3个嵌套的<ul>
组成(显然是一个带有隐藏子菜单的菜单,点击即可显示)。
我已经创建了一个脚本来显示第二级<ul>
,如果单击了第一级中的一个。这很好:
//CLICK MAIN NAV SHOW 2nd LAYER NAV
$("#ctamenu ul li").not("#ctamenu ul li ul li, .thirdsub").click(function() {
$(this).children('ul').stop().delay(200).slideDown(300);
});//END CLICK FUNCTION
但当我对第三级<ul>
重复这一点时,它无法正常工作:
$("#ctamenu ul li ul li").click(function () {
$(this).find('.thirdsub').stop().show(300);
});
奇怪的是,当我在浏览器中检查元素时,display: none
css肯定会从thirdsub元素中删除。我甚至得到了一个彩色的轮廓,Chrome显示元素应该在哪里。
更奇怪的是,如果我更改。点击。悬停,它会很好地工作:
$("#ctamenu ul li ul li").hover(
function () {
$(this).find('.thirdsub').stop().show(300);
},
function () {
$(this).find('.thirdsub').stop().hide(300);
}
);
有人知道为什么悬停而不点击可以工作吗?
$("#ctamenu ul li ul li").click(function (e) {
$(this).find('.thirdsub').stop().show(300);
e.stopPropagation();
});
尝试stopPropagation()
,因为您还将click
处理程序分配给了它的父级。当您单击#ctamenu ul li ul li
时,它也会调用。
相关文章:
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 悬停功能触发器
- OpenLayers在悬停时高亮显示功能,并在单击时选择
- 使用Jquery创建一个具有单击和悬停功能的菜单
- 如何通过悬停或点击谷歌电子表格中的单元格来运行自定义功能
- 美国地图插件,具有状态数据/悬停功能的新按钮
- JS“切换”或“悬停”功能
- 如何在保持鼠标悬停功能的同时居中跨过图像
- Jquery悬停功能显示和隐藏元素
- 在悬停功能中设置超时
- 不支持悬停功能
- 悬停几秒钟后启动功能
- 鼠标悬停功能获胜'不起作用
- 关于单击或悬停功能
- 为什么jquery是悬停的,在下拉菜单上滑动功能闪烁
- 使用 JavaScript 显示和隐藏导航栏进行滚动和悬停功能
- 具有悬停延迟的 OpenLayers 选择功能控件
- 如果悬停:动画完成后重新调用功能
- Jquery滑动悬停功能显示.stop错误(但仍然有效)
- 如何在功能悬停时获得指针光标,但前提是没有被弹出窗口覆盖