2015-10-02 52 views
2

我有包含的HREF =「#VIDEO1」jQuery的防止鏈接,但保留網址錨

我需要防止點擊執行與

$("#accordion_video a").click(function(event) { 
    event.preventDefault(); 
}); 

鏈接,但是當我這樣做,我不得到#video1像這樣的網址http://example.com/#video1我需要那回顧歷史。如果我不阻止它頁面空白的中心部分。任何想法?

Demo.

+0

你是否想要做一些像https://developer.mozilla.org/en-US/docs/Web/API/History/pushState – Omnilord

+0

重複不適合我!這是不一樣的。我需要保持錨標記 – Grasper

回答

1

也許這會爲你

$("#accordion_video a").click(function(event) { 
    event.preventDefault(); 
    history.pushState("", "", window.location.href.split("#")[0] + $(this).attr('href')) 
}); 

編輯工作:使用window.location.href.split( 「#」)[0]代替window.location.href

+0

hm,這項工作,但它沒有什麼時候按下按鈕。可能是因爲標籤不斷添加一個接一個,所以布羅斯不知道該去哪。就像這個http://example.com/#video1#video2#video3一樣。但這裏是正確的方向... – Grasper

+0

我編輯了我的答案,它應該現在更好地工作 –

+0

是的,它的工作原理是我想要的,但問題是如果我點擊後退按鈕,我得到空白中心。我認爲這不適合我的網站,因爲我試圖將它用於視頻回放歷史記錄。請點擊這裏http://help.overdrive.com/?t=600693#videos當你點擊視頻時,我試圖讓歷史記錄起作用。 – Grasper