2010-05-18 110 views
19

我创建了一个jQuery切换,但是当我点击链接打开div时,它会跳转到页面的顶部。我怎样才能解决这个问题?jquery切换:点击链接跳回到页面顶部

我知道我可以用别的东西替换链接,但我需要向用户清楚它是一个链接,他们可以点击它。

回答

37

return false;添加到单击链接时运行的代码的末尾。

$('a.myLink').toggle(function() { 
    // run my code 
    return false; 
}); 

或者,您可以抓取event对象,并调用.preventDefault()

$('a.myLink').toggle(function(event) { 
    event.preventDefault(); 
    // run my code 
}); 

这些方法都禁止链接的默认行为。

第一个也可以防止事件冒泡,所以只有在您不需要使用事件冒泡时才使用它。

+0

谢谢。作品完美 – shaikh 2013-02-18 10:42:26

3

那是因为有与像链接,复选框,单选按钮等元素相关联的默认动作可以取消它,像这样:

$('a.mylink').click(function(ev) { // Pass in the event object to your function 
    // do stuff 
    ev.preventDefault(); 
    return false; 
}); 

点击此处了解详情:http://api.jquery.com/event.preventDefault/

在极少数情况下将事件处理程序附加到链接的子节点上,您还需要使用event.stopPropagation()来停止冒泡DOM的事件。

相关问题