如何防止我的jquery模式滚动到窗口的顶部?

时间:2013-11-10 02:36:17

标签: jquery html css

嗨,我认为当我点击表单按钮时它很丑,模态会将用户带到页面的开头。我宁愿它留在用户当前在页面上的位置。这可能吗?

$(".buttons").click(function(){
        $("#overlay-modal").fadeIn();
    });
    $(document).mousedown(function(e){
            var clicked = $(e.target);
        if (clicked.is('.inner-modal') || clicked.parents().is('.inner-modal')){
                return;
            } else { $('#overlay-modal').hide();
        }
    });
 });

这就是我现在所拥有的。我试图在我希望页面停留的底部添加一个锚标记,但这不起作用。我也尝试在页面上移动表单的位置。

2 个答案:

答案 0 :(得分:4)

点击事件需要返回false,以防止链接将您发送到顶部... #

$(".buttons").click(function(){
  // your stuff
  return false;
});

答案 1 :(得分:2)

我认为代码中的 e.preventDefault(); 可能比返回false; ...

更有利
$(".buttons").click(function(){
        $("#overlay-modal").fadeIn();
    });
    $(document).mousedown(function(e){
            var clicked = $(e.target);
        if (clicked.is('.inner-modal') || clicked.parents().is('.inner-modal')){
                e.preventDefault();
            } else { $('#overlay-modal').hide();
        }
    });
 });

这主要与事件冒泡有关,返回false 不会停止。