2013-02-24 68 views
0

我正試圖在外部頁面上加載錨點標記。我正在使用此方法:如何禁用外部頁面上的jQuery功能

<a href="page.html#div> 

要鏈接到另一個頁面的特定div。

<div name="div"> 
stuff 
</> 

問題至今一直鏈路只掛我到外部頁面,而不是到該網頁上的具體股利。我剛剛發現問題在於我收錄了jquery。當我按鏈接時,正確的div出現一瞬間,然後頁面迅速返回到頁面的頂部。

有沒有辦法通過這樣的方法來禁用外部網頁jQuery的自動滾動:

$(document).ready(function(e) { 
e.preventDefault(); 
}); 

我試過,包括這對我的鏈接:

onclick="return false; 

但這也意味着他們不工作。

+0

您是否也擁有(即可以更改代碼)外部頁面? – 2013-02-24 14:39:10

回答

2

該錨點與<a>標記中的名稱屬性一起使用,而不是<div>

鏈接:

<a href="page.html#here> 
to link to another page's specific div. 
</a> 

目標目的地:

<a name="here"> 
stuff 
</a> 

如果你想惹使用jQuery這種行爲(例如,防止它通過在目標頁面的JavaScript),則有是一個問題,因爲瀏覽器加載頁面FIRST,然後在頁面中運行JavaScript,因此除非隱藏目標頁面的默認條件,否則內容可能會在jQuery修改它之前顯示一種方式。除非您最初可以使用靜態CSS樣式規則(不使用JavaScript)隱藏目標頁面,否則您無法做任何事情,因爲該頁面可能在JavaScript運行之前顯示。

如果您可以將JavaScript放入第一頁,您可以從鏈接中移除#here,因此當它們被點擊時,它們沒有額外的目標。

如果您可以修改第二頁的HTML,則可以刪除name目標,以便#here不執行任何操作。