簡體   English   中英

為什么我的錨標簽不起作用?

[英]Why do my anchor tags not work?

我使用無序列表,列表項,jQuery和CSS制作了一個下拉菜單。 當我單擊菜單項(即錨點)時,它們均無作用。 當我單擊錨點時,所有發生的事情就是菜單消失了。 如果我右鍵單擊一個錨點,然后在新選項卡中將其打開,則它確實會按預期進行重定向。 是一個顯示我的代碼和當前問題的jFiddle。 請注意,菜單有些難以打開,您必須單擊圖標的底部。 如果有人能建議為什么錨不能正確打開,將不勝感激。

HTML:

<span class="menu_item" id="settings">
    <ul>
        <li>
            <a href="#" onclick="return false;">&#9788;</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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM