簡體   English   中英

如何使用javascript檢測內聯鏈接?

[英]How can I use javascript to detect an inline link?

假設我有一個網頁index.html 假設客戶端轉到index.html#section2 這應該將客戶端帶到具有name屬性為section2的塊級元素的頁面section2

如何在javascript中檢測到此內聯鏈接? 具體來說,如果用戶轉到index.html#section2 ,我想在javascript中運行某個功能。

我也願意使用jQuery。 謝謝!

將此jQuery插件與jQuery一起使用http://benalman.com/projects/jquery-hashchange-plugin/

然后,您可以執行以下操作:

$(window).bind( 'hashchange', function( event ) {
    if(window.location.hash === "#section2"){
        // What you want to do
    }
})

或者,如果您不想使用jQuery,則只需使用onclick事件。

<a href="#section2" onclick="changed()"></a>

JS:

function changed(){
        setTimeout(function(){
                if(window.location.hash === "#section2"){
                    // What you want to do
                }
        })
}
window.onload = changed; // In case user starts on #section2

window.location.hash屬性上進行switch

switch(window.location.hash) {    
   case '#section1':
      foo();
   case '#section2':
      bar();
}

注意 -所有主要瀏覽器都支持hash屬性。

編輯 - @IvanCastellanos對新的hashchange事件和下層瀏覽器的缺乏支持是正確的。 如果OP需要處理這種情況,那么插件的開銷可能是必要的-正如他的回答中指出的那樣...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM