Jquery 为什么我的锚定标签不起作用?
我使用未排序的列表、列表项、jQuery和CSS制作了一个下拉菜单。当我点击菜单项时,它们都不起作用。当我点击锚点时,菜单消失了。如果我右键单击一个锚点,然后在一个新选项卡中打开它,它会像我预期的那样重定向。是一个jFiddle,显示我的代码和手头的问题。请注意,菜单有点难以打开,您必须单击图标的底部。如果有人能就锚无法正确打开的原因提出建议,我们将不胜感激 HTML:Jquery 为什么我的锚定标签不起作用?,jquery,html,css,Jquery,Html,Css,我使用未排序的列表、列表项、jQuery和CSS制作了一个下拉菜单。当我点击菜单项时,它们都不起作用。当我点击锚点时,菜单消失了。如果我右键单击一个锚点,然后在一个新选项卡中打开它,它会像我预期的那样重定向。是一个jFiddle,显示我的代码和手头的问题。请注意,菜单有点难以打开,您必须单击图标的底部。如果有人能就锚无法正确打开的原因提出建议,我们将不胜感激 HTML: 该返回false您在设置\u open中有两个功能,其中一个功能是取消默认操作(在链接后面)。请记住,单
-
-
-
该返回false代码>您在设置\u open
中有两个功能,其中一个功能是取消默认操作(在链接后面)。请记住,单击气泡从后代元素一直到祖先元素
如果更改则返回false代码>到event.stopPropagation()
相反,您不会阻止默认设置,链接也会起作用。(也没有理由从事件处理程序返回true
。)
功能设置\u打开(事件){
设置取消计时器();
设置_close();
var子菜单=$(this.find('ul');
如果(子菜单){
ddmenuitem=submenu.css('visibility','visible');
event.stopPropagation();//您在设置中打开的返回false;
执行两项操作,其中一项是取消默认操作(链接后)。请记住,单击气泡从子元素一直到祖先元素
如果将return false;
改为event.stopPropagation()
,则不会阻止默认设置,链接也会工作。(也没有理由从事件处理程序返回true
)
功能设置\u打开(事件){
设置取消计时器();
设置_close();
var子菜单=$(this.find('ul');
如果(子菜单){
ddmenuitem=submenu.css('visibility','visible');
event.stopPropagation();//始终将所有相关代码和标记放在问题本身中,而不仅仅是链接(甚至不链接到JSFIDLE)。FIDLE是一个很好的附件,但问题应该独立。原因:始终将所有相关代码和标记放在问题本身中,而不仅仅是链接(甚至不链接到JSFIDLE).小提琴是一个很好的附属品,但问题应该是独立的。为什么:
<span class="menu_item" id="settings">
<ul>
<li>
<a href="#" onclick="return false;">☼</a>
<ul>
<li>
<a href="/admin.php">Admin Center</a>
</li>
<li>
<a href="/login/process.php">Logout</a>
</li>
</ul>
</li>
</ul>
</span>
function settings_open(event){
settings_canceltimer();
settings_close();
var submenu = $(this).find('ul');
if(submenu){
ddmenuitem = submenu.css('visibility', 'visible');
event.stopPropagation(); // <== Change here
}
// Removed return true here
}