1

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

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

这就是我目前拥有的。我试图在我希望页面保留的底部添加一个锚标记,但这没有用。我还尝试在页面上移动表单的位置。

4

2 回答 2

4

点击事件需要返回false,防止链接将你送上顶...#

$(".buttons").click(function(){
  // your stuff
  return false;
});
于 2013-11-10T02:45:39.010 回答
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不会停止。

于 2013-11-10T03:17:57.907 回答