2010-05-18 153 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的事件。

相關問題