CKEDITOR初始化时,没有为任何对话框调用'dialogDefinition'事件?

akg*_*akg 2 javascript dialog ckeditor

我正在使用dialogDefinition事件来更改Enhanced Image插件的image2对话框的定义.我正在使用此代码 -

CKEDITOR.appendTo("editor1" ,
      {
          on: {
              dialogDefinition: function (ev) {

                  console.log("Inside dialog definition");
                  var dialogName = ev.data.name;
                  var dialogDefinition = ev.data.definition;
                  if (dialogName == 'image2') {
                    console.log("Inside Upload");
                    dialogDefinition.removeContents('Upload');
                    dialogDefinition.addContents({
                    title: "Upload",
                    id: "upload",
                    label: "Upload",
                    elements: [{
                     type: "html",
                     html: "<form>{%csrf_token%}<input id='imageupload' type='file' name='files[]'/></form>"
                    }]
                 });
                }
                },
            },
Run Code Online (Sandbox Code Playgroud)

但是,当我单击任何对话框时,不会调用此事件,因为控制台消息未打印,并且image2对话框的定义未更改.

有没有办法找出为什么没有调用此事件或如何使其工作?

ole*_*leq 6

请注意,dialogDefinition事件属于CKEDITOR,而不是CKEDITOR.editor.正确的倾听方式dialogDefinition如下:

CKEDITOR.on( 'dialogDefinition', function( ev ) {
    var dialogName = ev.data.name;
    var dialogDefinition = ev.data.definition;

    ...
});
Run Code Online (Sandbox Code Playgroud)