在tinyMCE打开之前,如何延迟对话框的可见性?

时间:2012-02-15 08:17:41

标签: jquery

我有以下代码:

    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完成?

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用活动onPostRender

您可以在此处阅读:http://www.tinymce.com/wiki.php/API3:event.tinymce.Editor.onPostRender

答案 1 :(得分: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回调添加到您的设置回调中(如果已存在)。