2012-02-15 58 views
0

我有以下代碼:在tinyMCE打開之前,如何延遲我的對話框的可見性?

open: function (event, ui) { 
     if ($(this).data('action') == "Editing") { 
      tinyMCE.init(window.tinyMCEOptions); 
     } 
     else { 
      tinyMCE.init(window.tinyMCEReadOnly); 
     } 
     $('.ui-dialog-buttonpane'). 
      find('button:contains("Submit")').button({ icons: { primary: 'ui-icon-plus'} }); 
     $('.ui-dialog-buttonpane'). 
      find('button:contains("Cancel")').button({ icons: { primary: 'ui-icon-cancel'} }); 
     $(":input[type='checkbox']").wijcheckbox(); 
     $("#dialog_type").wijdropdown(); 
     $("#dialog_select").wijdropdown(); 
     $(":input[type='text'],:input[type='password'],textarea").not(".native").wijtextbox(); 
    } 

這工作,但屏幕上首先打開並顯示一個文本框幾秒鐘TinyMCE的似乎隱藏文本框之前。有什麼方法可以延遲對話框或可見性的打開,直到tinyMCE完成?

回答

0

據我所知,在對話框最初是隱藏的,你需要的是這樣的:

// Adapted from http://www.tinymce.com/wiki.php/API3:event.tinymce.Editor.onInit 
// Adds an observer to the onInit event using tinyMCE.init 
tinyMCE.init({ 
    ... 
    setup : function(ed) { 
     ed.onInit.add(function(ed) { 
      //here, initialise then show the dialog 
     }); 
    } 
}); 

在實踐中,看來你需要要將整個設置回調添加到window.tinyMCEOptionswindow.tinyMCEReadOnly,或者只需將ed.onInit回調添加到您的設置回調(如果它已經存在)。

相關問題