无法在onClick()事件下拉列表中单击锚标记
Unable to click anchor tags inside onClick() event drop-down
我有这个HTML:
<ul>
<li class="parent_menu">
<ul class="child-menu">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
</ul>
</li>
</ul>
当鼠标悬停在父元素上时显示下拉列表:
$('.parent_menu').on('touchstart click', function(e){
e.stopPropagation();
e.preventDefault();
$(".child-menu", this).slideToggle(400);
}
);
这里发生的是,下拉菜单显示如果我点击父菜单。但是我无法在下拉列表中单击子菜单项的锚标记(如Link 1, Link 2等)。我认为这是由于上面使用的slideToggle()
或onClick()
。我如何修复它,使子菜单链接是可点击的?
这些是有原因的吗?
e.stopPropagation();
e.preventDefault();
preventDefault()
会杀死你的锚。如果您不需要它们,请删除它们。
以下是如何使用
stopPropagation()
来防止链接切换菜单的方法:
$('.parent_menu').on('touchstart click', function (e) {
$(".child-menu", this).slideToggle(400);
}).find('a').on('touchstart click', function (e) {
e.stopPropagation();
});
http://jsfiddle.net/isherwood/Qv8hn/1 相关文章:
- 根据url填充表单选择下拉列表
- 单击下拉项-jquery上的事件
- 单击下拉菜单时,将文本粘贴到输入框中
- HtmlService表单-动态下拉列表
- 在jquery javascript中单击下拉列表时更改标签
- 单击下拉值 Javascript
- 单击下拉列表时保持滚动位置(javascript)
- 仅在单击下拉列表中的项目时显示列表框
- 通过单击下拉列表中的特定值,在列表框中获取相应的值
- 如何以编程方式单击下拉列表中的li
- 如果窗口宽度小于 600,则单击下拉列表
- 单击下拉列表中的项时自动获取文本框中的值
- 单击下拉列表时,不要更改可编辑选择框中的背景颜色
- 单击下拉菜单中包含子菜单的列表项,将关闭其余菜单,但不会'不要扩大新的
- 无法单击下拉列表中的元素
- 单击下拉列表更改在chrome或opera上不起作用的输入值
- 仅通过单击下拉栏来折叠引导程序下拉列表
- 将单击下拉列表的项目传递到第二个文件
- Jquery/JS和CSS水平列表导航单击下拉超链接不工作
- 点击下拉列表中的项目自动完成提交表单