打开页面/选项卡后的 CKEditor 对话框事件

CKEditor dialog event after page/tab is opened

本文关键字:CKEditor 对话框 事件 选项      更新时间:2023-09-26

我正在为 CKEditor (4.4.7) 制作一个自定义插件,它扩展了默认图像插件。在插件中,我需要一个类似"当页面/选项卡变得可见时"的事件。

我知道 CKEDITOR.dialog 的事件选择页面。它在显示实际页面(选项卡)之前触发。我需要的是一个事件,该事件将在页面被选中并可见后触发。我浏览了整个文档,但我什么也没找到。有什么解决方法吗?

(不知道这是否不仅仅是我的无知,但我认为 ckeditor 缺少的事件不止这个。

好的,所以这是我丑陋的解决方法(显示内部对话框):

我使用

var childElementId = dialog.getContentElement('tabCkeditorId', 'childElementCkeditorId').domId;

使用 jquery,我找到了属性名称="tab/page ckeditor id"的最接近的元素,因为我还没有找到任何方法,ckeditor可以直接告诉我选项卡/页面元素的DOM id。

var tabId = $("#"+childElementId).closest('[name="tabCkeditorId"]').attr('id');

好吧,最后:

$('body').on('mouseover focusin keydown', '#'+tabId, function(event) {
    ...
});

这不是一个真正的页面上"更改"事件,但对于我的事业,它有效。

页面/选项卡打开后,您的意思是对话框已打开,然后您(因为这是非常古老的que)或任何其他尝试实现此目的的人都可以在下面使用,

editor.on( 'blur', function( dialogShowEvent ) {
      alert('Test');
    });

更多可以在这里找到 - https://ckeditor.com/old/forums/Support/Blur-and-focus-fired-when-openingclosing-dialogs