2012-07-29 55 views
0
<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名称?阻止滚动的哈希锚

回答

2

Live Demo

在现代jQuery的版本:

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

其他jQuery的版本:

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

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

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

DEMO

1

只是防止链路

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

'li > a[href^=#calculate]'选择一个a元素,其href属性开始#calculate这是一个li元素的子元素的默认操作

More Info

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这是直接(第一级)的锚标签儿童和包含其href属性calculate字。

+0

你的选择是错误的,'〜'用于选择一个空格分隔列表在属性中的项目,你想要的是'*' – Musa 2012-07-29 07:19:25