[英]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.