我有通知下拉,就像 facebook 一样。单击链接时,将显示此下拉列表,该下拉列表定位为绝对。问题是,当打开下拉菜单时,页面会滚动到顶部。不幸的是,我无法粘贴代码,因为它很大。你能猜出可能是什么问题吗?
好的,这就是我所拥有的。http://jsfiddle.net/testtracker/uuQf3/1/
首先向下滚动然后单击黑色链接,然后看到,它首先向上滚动然后显示通知下拉。
我有通知下拉,就像 facebook 一样。单击链接时,将显示此下拉列表,该下拉列表定位为绝对。问题是,当打开下拉菜单时,页面会滚动到顶部。不幸的是,我无法粘贴代码,因为它很大。你能猜出可能是什么问题吗?
好的,这就是我所拥有的。http://jsfiddle.net/testtracker/uuQf3/1/
首先向下滚动然后单击黑色链接,然后看到,它首先向上滚动然后显示通知下拉。
这里的问题是您的链接试图找到一个名为 # 的锚标记。这不存在,所以它滚动到页面顶部。您需要告诉事件处理程序不要执行加载 href="#" 的默认操作。
解决方案是添加e.preventDefault()
到您的事件处理程序。
在此处查看演示:http: //jsfiddle.net/ksokhan/uuQf3/2/
如上所述,带有#href 属性的锚标记会将您带到页面顶部,解决方法是
捕获 onclick 事件并执行此操作
$('a').click(function(e){
e.preventDefault();
//OR
return false;
});
这将限制其默认行为。
或者您可以像这样直接将其写在您的锚元素中
<a href="#" onclick="return false;">link</a>