我有一些循環在這裏,代碼解釋。哈希改變取消雙觸發(「點擊」)
$(document).ready(function(){
var newHash = "";
$('a').click(function(event) {
var id = $(this).attr('href');
alert(id);
//Do something with selector with id that is clicked
window.location.hash = $(this).attr("href");
event.preventDefault();
});
$(window).bind('hashchange', function(){
newHash = window.location.hash.substring(1);
if (newHash) {
$("ul li." + newHash + " a").trigger("click");
};
});
$(window).trigger('hashchange');
})
<ul>
<li class="first"><a href="#first">first</a></li>
<li><a href="#second">second</a></li>
<li><a href="#third">third</a></li>
</ul>
我用BA-hashchange插件由Ben Alman 這是活生生的例子 - 當你點擊「#first」你有2個警報 但>EXTERNAL LINK ON MY SERVER
通知時改變了哈希粘貼鏈接 - >CHANGED HASH 您只有一個提醒。
它像一個循環,當你點擊鏈接,您得到的點擊和新的哈希從改變URL觸發警報。 所以你有2個警報。
我只想要1個提醒。 在這種情況下。你粘貼鏈接其從哈希名稱假設的觸發鏈接,你得到1警報。 當你點擊鏈接時,它會改變散列值,但不會觸發它改變這個散列值。
我知道它沒有意義的,我所做的Cuz其某種圈子。我想要創建一些觸發hashchange並單擊鏈接的函數,而不是像它發生的那樣加倍。我不知道如何做到這一點。這就是爲什麼我寫這個問題。我想要哈希改變例如滾動網頁,當我只是複製some1鏈接,他得到的位置和行動。 –
好吧,那些問題現在很愚蠢,我得到了我想要的,以及如何去做。謝謝 –