2014-04-22 50 views
0

加載內容時的工作,我有以下的jQuery代碼:獲取JQUERY對話與阿賈克斯

$(".editDialog").dialog({ 
    autoOpen: false, 
    show: { 
     effect: "blind", 
     duration: 1000 
    }, 
    hide: { 
     effect: "explode", 
     duration: 1000 
    } 
}); 

我有幾個<div>元素帶有class =「editDialog」。 一切工作得很好,但是當我加載這些div與Ajax。對話框不再工作。

的jsfiddle:http://jsfiddle.net/9Wvte/

這是工作。但是,當HTML部分中的代碼由ajax加載時,它停止工作。

我想我必須改變上面的代碼,以便在調用document.ready之後調用它。

+0

jsfiddle上的代碼請登錄 – user1428716

+0

我編輯了我的帖子 – progNewbie

+0

什麼是oyu加載AJAX調用? –

回答

0

調用函數在

complete : function(){ 
/*your function here*/ 
} 

在你的Ajax POST功能。根據我的觀點,在DOM中創建元素之前,綁定是偶然的。在這裏運行函數將在ajax加載DOM後觸發它,因此它將被綁定到所有元素。

+0

謝謝,這個工作非常好=) – progNewbie

+0

但當div盒通過重新加載頁面沒有Ajax加載時,我需要函數兩次對嗎? – progNewbie

+0

沒有我的朋友。你只需要在 $(document).ready(function(){})中觸發它;在沒有Ajax的情況下使用。只要記住在頁面上創建了所有div之後,應該觸發將事件綁定到div的函數。 –