2014-09-29 49 views
0

我試圖附加JavaScript運行後,JQuery對話框被銷燬。 I 不要想要在對話框聲明期間附加事件。如何檢測JQuery對話框的「銷燬」事件?

我試圖附加一個「上消滅」以下列方式事件(其中沒有工作) -

$('#myDialog'').bind('dialogclose', function (event) { 
     //do cool stuff 
    }); 

    $('#myDialog'').bind('dialogdestroy', function (event) { 
     //do cool stuff 
    }); 

    $('#myDialog'').bind('destroy', function (event) { 
     //do cool stuff 
    }); 

,破壞了對話的代碼看起來是這樣的 -

$('#myDialog').dialog('destroy'); 
+1

沒有事件觸發'destroy'。但是當你想到它時......你並不需要一個,因爲它馬上就會發生......所以無論你想要添加什麼代碼,只要在你打電話銷燬之後就把它放好。 – 2014-09-29 17:39:34

+0

那麼,理想情況下,我想附加一個事件「摧毀」或「關閉」。我可以關注「close」。 – 2014-09-29 17:45:58

+0

在Event下檢查jQuery對話框@ http://api.jqueryui.com/dialog/的API文檔,沒有銷燬事件。 jQuery UI沒有爲你的事件。當然,如果你想添加一個,你可以編輯jQuery源代碼。 – 2014-09-29 17:49:11

回答

0

你可以直接以銷燬方法觸發您的自定義事件。

或者,如果你不想編輯jqueryui文件,你可以實現你自己的方法,它會破壞對話框並觸發一個事件。

$.ui.dialog.prototype.myDestroy = function() 
{ 
    this.element.dialog('destroy'); 
    this.element.trigger('destroyed'); 
} 

看到這個example