2010-12-23 33 views
1

我使用​​將我網站中的其他頁面加載到div。有沒有辦法將jquery ui增強添加到新加載的頁面上的元素?我正在考慮使用.delegate().live(),但無法確定將它們綁定到什麼事件?或者,還有更好的方法?使用delegate()或live()加載jQuery UI?

回答

2

您可以使用jQuery的AJAX功能提供的回調函數 - 用於load(),語法看起來是這樣的:

$('#ele').load('somewhere #newEle', function(){ 
    $(this).find('#newEle').slider(); 
}); 

另外,放眼全球AJAX事件,如ajaxSuccess或者使用一個插件來擴展jQuery現有的ajax功能,例如這樣的功能:http://www.protofunc.com/scripts/jquery/ajaxManager/

0

您應該使用委託綁定的事件要裝載的內容到div,因此,如果您的div有中somediv一個id,那麼你會束縛他們是這樣的...

$('#somediv').delegate('a', 'click', function() { 

}) 
.delegate('input', 'focusin', function() { 

}) 
.delegate('li', 'click', function() { 

}); 

這些顯然只是舉例...但你可以像這樣鏈接你的處理程序,並將它們綁定到你的內容加載div。

享受:)

1

你想爲你做jQuery在complete回調中的UI代碼。請參閱the API。例如:

$('#myDiv').load('/some/page.html', function() { 
    // jQuery UI hotness here 
});