我正在为CKEditor(4.4.7)制作一个自定义插件,它扩展了默认的图像插件。在插件内部,我需要一个类似“当页面/标签变得可见时”的事件。
我知道CKEDITOR.dialog的事件selectPage。它会在显示实际页面(选项卡)之前触发。我需要的是一个事件,在选择和可见页面后触发。我去了整个文档,但我没有找到任何东西。有没有解决方法?
(不确定这不仅仅是我的无知,但我认为ckeditor缺少更多的事件,而不仅仅是这个。)
答案 0 :(得分:0)
好的,所以这是我丑陋的解决方法(显示内部对话框):
我使用
获取选项卡(页面)的子元素的DOM IDvar 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) {
...
});
这不是一个真正的页面"改变"事件,但为了我的原因它是有效的。