[英]Why do my anchor tags not work?
我使用无序列表,列表项,jQuery和CSS制作了一个下拉菜单。 当我单击菜单项(即锚点)时,它们均无作用。 当我单击锚点时,所有发生的事情就是菜单消失了。 如果我右键单击一个锚点,然后在新选项卡中将其打开,则它确实会按预期进行重定向。 这是一个显示我的代码和当前问题的jFiddle。 请注意,菜单有些难以打开,您必须单击图标的底部。 如果有人能建议为什么锚不能正确打开,将不胜感激。
HTML:
<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>
return false;
您在settings_open
中有两件事,其中之一是取消默认操作(遵循链接)。 请记住,单击会从后代元素到祖先元素冒泡。
如果更改则return false;
否则, return false;
改为event.stopPropagation()
,您无需阻止默认设置,并且链接可以正常工作。 (也没有理由从事件处理程序中返回true
。)
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
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.