2

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

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

4

2 回答 2

1

这里的问题是您的链接试图找到一个名为 # 的锚标记。这不存在,所以它滚动到页面顶部。您需要告诉事件处理程序不要执行加载 href="#" 的默认操作。

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

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

于 2012-08-27T14:07:36.047 回答
1

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

捕获 onclick 事件并执行此操作

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

});

这将限制其默认行为。

或者您可以像这样直接将其写在您的锚元素中

<a href="#" onclick="return false;">link</a>
于 2012-11-24T19:06:08.657 回答