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