2017-01-30 32 views
0

我正在做出響應下拉菜單。它在筆記本電腦中運行良好,但是當我使用我的android手機點擊此下拉列表中的任何鏈接時,窗口跳轉到頂部。我嘗試在JQuery中使用preventDefault,但我認爲Dropdown是由CSS懸停操作支持的,這就是爲什麼PreventDefault方法不起作用。任何想法我應該在我的JQuery中添加什麼來防止這種情況,因爲它很煩人。 這是鏈接。 JSFiddle每當我點擊任何錨點元素,窗口跳轉到移動頂部。

我正在使用此腳本切換文本。

$(document).ready(function(){ 

     $(".show-menu").click(function(){ 
      if ($(this).text() == "Show Menu") 
       { 
        $(this).text("Close"); } else 
        { 
         $(this).text("Show Menu"); 
        }; 
      }); 


     });  
+0

,你可以嘗試:$( '#菜單')上( '點擊',功能(E){e.preventDefault();}) – gaetanoM

+0

其工作。我正在使用preventDefault方法,但是我的方法不對。 :) –

+0

有什麼辦法可以使菜單順利打開和關閉? –

回答

0

This Works。

$(document).ready(function(){ 

    $(".show-menu").click(function(e){ 
     if ($(this).text() == "Show Menu") 
      { 
       $(this).text("Close"); } else 
       { 
        $(this).text("Show Menu"); 
       }; 
     }); 
    e.preventDefault(); 
    return false; 
    });  

另外,您可以使用下面的代碼,並刪除在CSS文件的懸停功能。

$("#menu li").hover(function(){ 
    $(this).find("ul.hidden").fadeIn("fast"); 
}, function(){ 
    $(this).find("ul.hidden").fadeOut("fast"); 
}); 
+0

我已經嘗試過這種方法。它不工作。但gaetanoM在第一條評論中提供的方法正在起作用。 –

+0

有什麼辦法可以使菜單順暢地打開和關閉? –

+0

到目前爲止,它看起來很順利,但你試過懸停選項? 試試這個上面添加的代碼 – Eddsters

0

您可以在click(){ }末除了使用return false;.preventDefault()防止默認動作。

相關問題