2009-05-02 99 views
0

我有一個MVC應用程序並使用JQuery。HTML錨點擊時的滾動位置

我有錨,我設置這樣的

<a href="#" id="addcomment">Add Comment</a> 

那麼當錨被點擊我這樣做

$('#addcomment').click(function() { 
    $('#divComments').slideDown(2000); 
}); 

問題是錨點擊 瀏覽器滾動至窗口的頂部時, 立即鏈接被點擊和 然後div卷軸

如何阻止發生?

馬爾科姆

回答

3

你必須在你的點擊功能,以防止發生默認鏈接事件行動的底部添加return false;。在這種情況下,默認的鏈接事件將會進入頁面的頂部,因爲#的href告訴瀏覽器進入頁面頂部。因此,它應該是這樣的:

$('#addcomment').click(function() { 
    $('#divComments').slideDown(2000); 
    return false; 
}); 

雖然這是可以接受的太:

$('#addcomment').click(function(e) { 
    $('#divComments').slideDown(2000); 
    e.preventDefault(); 
}); 

Documentation here

3

使用命名錨點有什麼問題?

不需要JavaScript的開銷。

+0

我同意。爲什麼不僅僅是標籤而且必須保留額外的腳本? – 2009-05-02 11:35:13