我已经在我的网页中放置了一些链接,我已经使用click
设置了jQuery事件处理程序。因此,当单击这些链接中的任何一个时,将使用.slideDown()
方法显示菜单,但我遇到的问题是,单击链接后,窗口会自动滚动到顶部。
我还没用过scrollTo(0,0)
,但是窗口还在滚动。这种自动滚动到顶部是不需要的,不应该发生。
我试过以下几点,但仍未达到预期的效果。
document.body.scroll(false);
document.body.scrollTop(0);
我附了2张照片。image1是普通网页,当单击Softwares-2
链接并将窗口滚动到顶部时,image2是相同的网页(如右边的滚动条所示)。
注意:图像中指定的数字只是为了显示窗口正在滚动。
发布于 2011-07-16 04:19:33
实际上,您的页面正在重新加载,而不是滚动。
在单击事件中,必须防止默认的链接单击行为(即:对href
属性值和加载响应定义的资源发出请求),方法是:
$("a").click(function(evt) {
evt.preventDefault();
// display your menu
// and do what's required
});
通常,人们也会从您的处理程序中向return false;
建议,但这是不必要的。不过,您可以在单击事件处理程序函数的结束大括号之前完成这一操作。
发布于 2011-07-16 04:20:11
添加如下所示的return false
语句。
<a href="#" onclick="function();return false;">Link</a>
发布于 2011-07-16 04:19:59
event.preventDefault并在您的.click处理程序中返回false应该会为您修复它。
https://stackoverflow.com/questions/6715282
复制相似问题