2017-01-30 36 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()防止默认动作。

相关问题