2013-06-02 19 views
1

我使用,當用戶點擊網頁上的各個環節加載內容的jQuery腳本:AJAX腳本不「看」裝元素

$('.main-navigation a[href*=\''+window.location.hostname+'\'], .site-info a[href*=\''+window.location.hostname+'\'], .widget-area a[href*=\''+window.location.hostname+'\'], #breadcrumbs a, #smi-logo a').click(function(event) 

{ 
// Load content and play some animaion 
} 

的問題是,有些鏈接(.widget-area a[href*=\''+window.location.hostname+'\'], #breadcrumbs a)那些應該由AJAX有針對性實際上加載的內容內,腳本沒有「發現」他們(我猜是因爲他們沒有在網頁HTML源出現)。

如何訪問這些鏈接將加載的內容裏面?

回答

2

它看起來像你想委託的事件處理。採取任何容器是最終將持有的動態加載內容(但其本身目前存在的),並與on設置你的事件處理程序。

所以,如果它是用的,比方說,foo ID的DIV,你可以這樣做:

var hostName = window.location.hostname; 
$('#foo').on('click', 'a[href*=\''+ hostName +'\'], #breadcrumbs a', function(){ 
    //your code here 
}); 
+0

太好了,謝謝你,@Adam!這解決了它。我可以請你也看看相關的問題嗎? http://stackoverflow.com/questions/16885808/ajax-behavior-disables-some-of-the-default-behavior –

+0

@Figaro - 樂意幫忙。恐怕我對你的其他問題沒有答案。我會開始刪除越來越多的東西,直到你能夠找出造成你的問題的原因。對不起,我不能更多的幫助對:) –

+0

謝謝,@Adam,我會做你的建議。 –