2012-03-08 74 views
2

如何使用鏈接到錨時執行Javascript函數?使用鏈接到錨時執行Javascript

我有這種定位的:

<a id="localizacao" onClick="toogleShow('local')">Click here to show hidden content</a> 

用戶可以對這種定位的點擊顯示隱藏的內容,但我想,當用戶點擊這個鏈接,是在另一個頁面自動顯示內容:

<a href="info.html#localizacao"><img src="dcc.png" alt="Localização" title="Localização"></a> 
+0

當頁面加載時,查找url散列。如果存在網址哈希值,請找到具有該ID的元素並點擊它。 – Blender 2012-03-08 20:34:00

+0

可能重複的[是否有可能觸發一個JavaScript運行時,選擇一個特定的錨?](http://stackoverflow.com/questions/2535605/is-it-possible-to-trigger-a-javascript-to -run-when-a-particular-anchor-is-select) – 2012-03-08 21:13:40

回答

2

您可以使用window.onhashchangeMDN

window.onload = checkHash;  // page load 
window.onhashchange = checkHash; // local click 

function checkHash() { 
    if (location.hash === '#localizacao') { 
     toogleShow('local'); // <-- do stuff here 
    } 
} 
+0

頁面加載時會觸發該事件嗎?因爲OP正在討論從不同的頁面單擊已經包含散列的鏈接。 – bfavaretto 2012-03-08 20:41:12

+0

尚未測試,但[spec](http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#event-hashchange)暗示它不會。更新。 – paislee 2012-03-08 20:47:32

1

你可以廣告d一個JavaScript URL檢查該錨點在頁面加載時觸發。

僅瀏覽器/ HTML將僅將該錨點放入視圖中。如果您希望javascript對其執行操作,請檢查URL。沒關係,@paislee的答案更短,更甜美。

2
if (location.hash === "#localizacao") { 
    // Do stuff! 
}