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

时间:2015-06-17 16:35:40

标签: javascript javascript-events ckeditor

我正在为CKEditor(4.4.7)制作一个自定义插件,它扩展了默认的图像插件。在插件内部,我需要一个类似“当页面/标签变得可见时”的事件。

我知道CKEDITOR.dialog的事件selectPage。它会在显示实际页面(选项卡)之前触发。我需要的是一个事件,在选择和可见页面后触发。我去了整个文档,但我没有找到任何东西。有没有解决方法?

(不确定这不仅仅是我的无知,但我认为ckeditor缺少更多的事件,而不仅仅是这个。)

1 个答案:

答案 0 :(得分:0)

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

我使用

获取选项卡(页面)的子元素的DOM ID
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) {
    ...
});

这不是一个真正的页面"改变"事件,但为了我的原因它是有效的。