TinyMCE:编辑器中的中心对话框窗口(WindowManager.open)

时间:2018-06-11 20:12:21

标签: javascript html typescript tinymce tinymce-4

当我使用editor.WindowManager.open在tinyMce中打开一个对话框窗口时,它在屏幕上居中。 我希望它能够集中在编辑内部。

如何处理?我可以控制窗口位置吗?

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案,即在表单打开时将居中CSS动态添加到网页Head中。

在对话框的“ editor.windowManager.open”功能中,添加了以下代码:

id: 'xxx-dialog',                           
onopen: function() {                                
   // Forcibly center dialog                                
   if ($("head #added-xxx-dialog-CSS").length == 0) // only once
   {
      $("#xxx-dialog .mce-dragh").remove(); // disable dragging of dialog
      var mceHeight=$(".mce-tinymce").height();
      var mceTop=$(".mce-tinymce").position().top;
      var thisHeight=$("#xxx-dialog").height();
      var newTop=mceHeight/2+mceTop-thisHeight/2;
      $("head").append('<style id="added-xxx-dialog-CSS"
      type="text/css">#xxx-dialog {top:'+newTop+'px !important;}</style>');                                 
    }
}, // etc...

此代码仅使Dialog垂直居中,因为在我的应用程序中Dialog始终自动居中居中,但是以相同的方式添加几行使其居中也很容易。