首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用jquery禁用自动滚动到顶部?

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

Stack Overflow用户
提问于 2011-07-16 04:15:19
回答 4查看 11.1K关注 0票数 1

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

我还没用过scrollTo(0,0),但是窗口还在滚动。这种自动滚动到顶部是不需要的,不应该发生。

我试过以下几点,但仍未达到预期的效果。

代码语言:javascript
运行
复制
document.body.scroll(false);
document.body.scrollTop(0);

我附了2张照片。image1是普通网页,当单击Softwares-2链接并将窗口滚动到顶部时,image2是相同的网页(如右边的滚动条所示)。

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

EN

回答 4

Stack Overflow用户

发布于 2011-07-16 04:19:33

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

在单击事件中,必须防止默认的链接单击行为(即:对href属性值和加载响应定义的资源发出请求),方法是:

代码语言:javascript
运行
复制
$("a").click(function(evt) {
    evt.preventDefault();
    // display your menu
    // and do what's required
});

通常,人们也会从您的处理程序中向return false;建议,但这是不必要的。不过,您可以在单击事件处理程序函数的结束大括号之前完成这一操作。

票数 8
EN

Stack Overflow用户

发布于 2011-07-16 04:20:11

添加如下所示的return false语句。

代码语言:javascript
运行
复制
<a href="#" onclick="function();return false;">Link</a>
票数 2
EN

Stack Overflow用户

发布于 2011-07-16 04:19:59

event.preventDefault并在您的.click处理程序中返回false应该会为您修复它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6715282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档