每当我点击任何锚元素时,窗口就会跳到Mobile的顶部。

时间:2017-01-30 18:37:10

标签: jquery responsive-design dropdown preventdefault

我正在制作响应式下拉菜单。它在笔记本电脑上运行良好,但是当我使用我的Android手机点击此下拉列表中的任何链接时,窗口会跳到顶部。我试图在JQuery中使用preventDefault,但我认为Dropdown是由CSS Hover动作驱动的,这就是为什么PreventDefault方法不起作用的原因。任何想法我应该在我的JQuery中添加什么来防止这种情况,因为它非常烦人。 链接在这里。 JSFiddle

我正在使用此脚本来切换文本。

   $(document).ready(function(){

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


      });    

2 个答案:

答案 0 :(得分:0)

您可以在return false;末尾使用.preventDefault() click(){ }来阻止默认操作。

答案 1 :(得分:0)

这很有效。

$(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");
});