2012-10-26 114 views
0

我有这样jQuery的锚链接事件

<a href="link.php" onClick="return false;">Click me</a> 

$('a').click(function() { 
var linked = "#"+$(this) .attr(href); 
window.location=linked; 
}) 

一个html为什么不工作?

+0

我想这样的URL:#的index.php – user1404602

回答

0
$('a').click(function(event) { 
    location.href = '#' + $(this).attr('href'); 
    event.preventDefault(); 
    event.stopPropagation(); // sometimes useful 
    return false; // sometimes useful 
}); 

尝试你应该剿已触发事件

+0

好主意谢谢 – user1404602

+1

你不需要'preventDefault()'_and_'return false'。一个或另一个就足够了。 –

1

如果我明白你想要做什么,你根本不需要JavaScript。只要改变href

<a href="#link.php">Click me</a> 
+0

我知道,但不是基本的说; 我给正常的链接,但必须工作锚链接 – user1404602

+0

对不起,但我不明白你想说什么。 –

0

我会摆脱onClick="return false;"部分首先,看看会发生什么

+0

with return false;浏览器不去这个href,但谷歌可以采取索引 – user1404602

2

变化

var linked = "#"+$(this) .attr(href); 

通过

var linked = "#"+$(this).attr("href"); 

编辑

与此

$('a').click(function(e) { 
    e.preventDefault(); 
    var linked = "#"+$(this).prop("href"); 
    window.location.hash = linked; 
});​ 
+0

为什么使用哈希? – user1404602

+0

因为你想改变的是网址的哈希值(url#hash) –