簡體   English   中英

切換問題 - 單擊時跳轉到頁面頂部

[英]issue with toggle- jumps to top of page when clicked

我有一個像這樣的切換功能:

$('ul.internal-nav-list li ').on('click', function () {
        $(this).find('.internal-sub-list li ').toggle();

問題是,當您單擊切換子菜單時,頁面跳轉到頂部。 所以我嘗試使用

$('ul.internal-nav-list li ').on('click', function (e) {
        $(this).find('.internal-sub-list li ').toggle();
            e.preventDefault();

這解決了問題,然而子菜單的鏈接不起作用。 有人知道解決方法嗎?

更新

這是html

<ul class="internal-nav-list">
                        <li><a href="#">applications</a>
                            <ul class="internal-sub-list">
                                <li><a href="../sos.aspx">Structures</a></li>
                                <li><a href="../tanks.aspx">Containment Areas</a></li>
                                <li><a href="../pumps.aspx">Pumps</a></li>
                                <li><a href="../hex.aspx">Heat Exchangers</a></li>  
                            </ul> 
                        </li>   

可能有更好的方法,但沒有HTML,你很難幫助你。 但是你可以檢查以確保它不是被點擊的錨點

if (!$(e.target).is(".internal-sub-list a")) {
    e.preventDefault();
}

在不需要是活動鏈接的錨鏈接上添加e.preventDefault()(我相信你的li還有一個href =“#”元素)。

作為全球修復,您可以擁有以下內容:

 $('a[href="#"]').on('click', function(e) { e.preventDefault(); }); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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