阻止滚动的哈希锚点

时间:2012-07-29 06:01:07

标签: javascript jquery html

 <li> <a href="#calculate">Calculate</a></li>
 <li> <a href="#calculate1">Calculate1</a></li>
 <li> <a href="#calculate2">Calculate2</a></li>

这是我的代码,当我点击链接时,页面向下滚动到#calculate所在的位置,这是可以理解的。但我需要它不滚动 我可以删除href的值,无论如何阻止它滚动而不删除值#calculate而不更改id名称?

4 个答案:

答案 0 :(得分:2)

$('li > a[href*=calculate]').on('click', function(e) {
  e.preventDefault(); // this will prevent the page scroll

  // continue other code

});

了解 .preventDefault()

在此处,'li > a[href*=calculate]'会选择那些li的直接(第一级)子级并且在calculate属性中包含href个字词的锚标记。

答案 1 :(得分:2)

<强> Live Demo

在现代jQuery版本中:

$('a').on('click', function(e) {
  e.preventDefault();
});

其他jQuery版本:

$('a').click(function() {
  return false;
});

答案 2 :(得分:1)

您可以将函数绑定到click事件并使其返回false。

$("a").click(function() { return false; });

DEMO

答案 3 :(得分:1)

只是阻止链接的默认操作

$('li > a[href^=#calculate]').on('click', function(e){
    e.preventDefault();
    return false;
});

'li > a[href^=#calculate]'选择一个a元素,其href属性以#calculateli元素之子的{{1}}开头

More Info