[英]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.