以下简单代码创建了两个CKEditor编辑器。取消事件函数检测并响应图像对话框的取消事件,而不管编辑器启动对话框,鉴于其语义,它是有意义的。并且它可以工作(警报在任何图像对话框上启动,但没有其他人,如链接对话框)。但是,我想在一个且只有一个编辑器(在我的例子中为editor1)中检测并响应图像对话框的取消事件。经过大量谷歌搜索和搜索CKEditor API文档后,我无法弄清楚这样做的正确语义。我正在使用CKEditor 4.5.1。
<textarea id="editor1" name="editor1"></textarea>
<script type="text/javascript">
CKEDITOR.replace('editor1', {});
CKEDITOR.on('dialogDefinition', function (e)
{
var dialogName = e.data.name;
if (dialogName != 'image') return;
var dialog = e.data.definition.dialog;
dialog.on('cancel', function ()
{
alert("do something");
});
});
</script>
<textarea id="editor2" name="editor2"></textarea>
<script type="text/javascript">
CKEDITOR.replace('editor2', {});
</script>
有人可以告诉我如何限制特定编辑器打开的对话框的响应吗?谢谢你的帮助。