链接href =“#”在与jquery slidetoggle 一起使用时滚动页面到顶部
可能重复:
当点击一个触发javascript的链接时,如何阻止网页滚动到顶部?
我正在使用jquery的slidetoggle来显示/隐藏div。 控制滑动的元素是文本链接(中的一些文本),其中包含href =“#”,因此它看起来像一个链接(下划线,光标更改)。
问题是,当点击链接时,除了滑动效果,页面滚动到顶部。
我尝试用href =“”替换href =“#”,但是禁用了div显示/隐藏效果。 我想我可以添加标签Name =“somename”,然后将href设置为href =“#somename”,但我宁愿不使用这样的技巧。
为什么href =“#”将页面滚动到顶部?
任何想法都将受到高度赞赏
几个选项:
- 把
return false;
在你的点击处理程序的底部,不会跟随href。 - 将href更改为
javascript:void(0);
-
在处理程序中对事件调用
preventDefault
:function( e ) { e.preventDefault(); // your event handling code }
你需要添加return false;
到您的点击处理程序。
这将阻止浏览器执行单击的默认操作。
其他人给了你解决方案。 但要专门回答您的问题, #
指的是当前页面。 由于标签的解释是将标签的顶部置于视图中,因此单击#
标签会将您滚动到当前页面的顶部。