2013-01-11 47 views
0

夥計們我有兩個行動之間的同步問題。 在第一個鏈接:jquery href和點擊事件同步

<a href="#mytag1">Link 1</a> 
<a href="#mytag2">Link 2</a> 
<a href="#mytag3">Link 3</a> 

而且JQuery的事件綁定:

$('a').click(function(){recognize_content_by_link()}); 

這個函數獲取使用其他功能(讓它的getURL())window.location.href,解析它來獲得「 #mytagX'並加載內容。

問題是:我需要先設置href,然後從window.location中獲取url以解析綁定函數。我試圖通過setTimenterval延遲它在get_read_by_link()函數中使用的geturl()函數,但這是一個糟糕的解決方案。 任何想法?需要它真的很快! - 考試時間:(非常感謝您的幫助

(對不起,我的語言)

+0

顯示其他代碼...真的不清楚是什麼問題 – charlietfl

回答

1

隊列它通過使用超時與延遲0事件

$('a').click(function() { 
    setTimeout(function() { 
    recognize_content_by_link(); 
    }, 0); 
}); 
0

我之後。認爲你需要這樣的:

$('a').click(function(e){ 
    e.preventDefault(); 
    recognize_content_by_link(); 
}); 
0

您可以使用命名函數做到這一點:

$('a').click(recognize_content_by_link); 

function recognize_content_by_link(event) { 
    event.preventDefault(); 
    var hash = this.hash.replace(/^[#]/, ''); 
    .... 
} 

或匿名函數:

$('a').click(function(event) { 
    event.preventDefault(); 
    var hash = this.hash.replace(/^[#]/, ''); 
    .... 
});