如何使用jquery禁用自动滚动到顶部?

Kar*_*hik 1 jquery scroll

我在我的网页中放置了一些链接,我click使用jQuery 设置了事件处理程序.因此,当点击这些链接中的任何一个时,将显示带有.slideDown()方法的菜单,但我遇到的问题是,在单击链接后,窗口会自动滚动到顶部.

我还没用过scrollTo(0,0),窗口正在滚动.这种自动滚动到顶部是不希望的,不应该发生.

我尝试了以下仍然没有按预期工作.

document.body.scroll(false);
document.body.scrollTop(0);
Run Code Online (Sandbox Code Playgroud)

我附上了2张图片.image1是普通网页,当点击链接并且窗口被滚动到顶部时,image2是相同的网页Softwares-2(如右侧的滚动条所示).

注意:图像中指定的数字只是为了显示窗口正在滚动.

此搜索 图像2

Rob*_*nik 8

您的页面实际上正在重新加载而不是滚动

您必须通过执行以下操作来阻止单击事件中的默认链接单击行为(即:请求由href属性值和加载响应定义的资源):

$("a").click(function(evt) {
    evt.preventDefault();
    // display your menu
    // and do what's required
});
Run Code Online (Sandbox Code Playgroud)

通常人们也建议return false;你从处理程序,但这不是必要的.你仍然可以在click事件处理函数的结束大括号之前做到这一点.

  • @Karthik:显示菜单的逻辑在你身上,超出了这个问题的范围.这个问题是关于不受欢迎的文档滚动,它通过提供的答案解决.事实上,我们没有足够的数据来提供有关您的菜单的任何其他信息. (2认同)