jquery - 与 jquery Slidetoggle 一起使用时,带有 href ="#"的链接将页面滚动到顶部

标签 jquery scroll toggle href slide

Possible Duplicate:
How do I stop a web page from scrolling to the top when a link is clicked that triggers javascript?

我正在使用jquery的slidetoggle来显示/隐藏div。 控制滑动的元素是一个文本链接(<\a>内的一些文本) 其中有 href="#",因此它看起来像一个链接(下划线,光标更改)。

问题在于,点击链接时,除了滑动效果之外, 页面滚动到顶部。

我尝试用 href=""替换 href="#"但这会禁用 div 显示/隐藏效果。 我想我可以添加到标签 Name="somename",然后将 href 设置为 href="#somename" 但我宁愿不使用这样的技巧。

为什么 href="#"将页面滚动到顶部?

任何想法都将受到高度赞赏

最佳答案

几个选项:

  1. return false; 放在点击处理程序的底部,这样 href 就不会被跟随。
  2. 将 href 更改为 javascript:void(0);
  3. 在处理程序中的事件上调用 preventDefault:

    function( e ) {
      e.preventDefault();
      // your event handling code
    }
    

关于jquery - 与 jquery Slidetoggle 一起使用时,带有 href ="#"的链接将页面滚动到顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2024342/

相关文章:

javascript - jquery切换阻止 child 的点击事件

jquery - 使用 jquery mobile 自动调整内容页面大小

javascript - 当主要内容距离导航较短时,固定侧导航的 CSS 部分会隐藏

android - 如何在android中移动验证消息或密码切换

jquery - 如何更改 .toggle() 上的展开方向?

jquery - 使用 JQuery 禁用页面滚动

javascript - 如何以简单的方式获取 td 值?

javascript - 从 json 对象中删除 json 数组

Angular 6 - CSS - STICKY 标题

javascript - 网页的整页视差滚动效果