打开绝对定位下拉列表时,页面会滚动到顶部

时间:2012-08-27 13:43:01

标签: javascript html css

我的通知下拉就像facebook一样。单击链接时,将显示此下拉列表,该下拉列表定位为绝对值。问题是,当打开下拉菜单时,页面将滚动到顶部。不幸的是,我不能粘贴代码作为它的巨大。你能猜出可能是什么问题。

好的,这就是我所拥有的。 http://jsfiddle.net/testtracker/uuQf3/1/
首先向下滚动然后点击黑色链接,然后看到它首先向上滚动然后显示通知下拉。

2 个答案:

答案 0 :(得分:1)

问题在于您的链接正在尝试查找名为#的锚标记。这不存在,因此它滚动到页面顶部。你需要的是告诉事件处理程序不要执行加载href =“#”的默认操作。

解决方案是将e.preventDefault()添加到您的事件处理程序。

在此处查看演示: http://jsfiddle.net/ksokhan/uuQf3/2/

答案 1 :(得分:1)

如上所述,带#href属性的锚标签将带您到页面顶部,解决方法是

抓住onclick事件并执行此操作

$('a').click(function(e){
  e.preventDefault();
   //OR
  return false;

});

这将限制其默认行为。

或者你可以像这样直接把它写在你的锚元素中

<a href="#" onclick="return false;">link</a>