CKEditor-触发对话框确定按钮

CKEditor-触发对话框确定按钮,ckeditor,Ckeditor,我正在使用CKEditor,我编写了一个插件,在CKEditor对话框中弹出一个对话框 我需要重新设计ok按钮,并向页脚添加更多元素,如textbox和checkbox,但这样做似乎很复杂,因此我隐藏了页脚部分,并在对话框内容中创建了一个uiElement,其中包含了我所需的所有内容,但现在我想在隐藏的页脚中触发ok按钮,但我找不到方法 有人吗 您可以尝试在plugin.js中添加这一行 var dialog = this.getDialog(); document.getElementById

我正在使用CKEditor,我编写了一个插件,在CKEditor对话框中弹出一个对话框

我需要重新设计ok按钮,并向页脚添加更多元素,如textbox和checkbox,但这样做似乎很复杂,因此我隐藏了页脚部分,并在对话框内容中创建了一个uiElement,其中包含了我所需的所有内容,但现在我想在隐藏的页脚中触发ok按钮,但我找不到方法


有人吗

您可以尝试在plugin.js中添加这一行

var dialog = this.getDialog();
document.getElementById(dialog.getButton('ok').domId).click();
在我的自定义插件中,我只是隐藏“ok”按钮,而不是整个页脚。 下面是我的plugin.js语句的一部分

{
    type : 'fileButton',
    id : 'uploadButton',
    label : 'Upload file',
    'for' : [ 'tab1', 'upload' ],
    filebrowser :
    {
        action : 'QuickUpload',
        onSelect : function(fileUrl, data){
            var dialog = this.getDialog();
            dialog.getContentElement('tab1','urlTxt').setValue(fileUrl);
            document.getElementById(dialog.getButton('ok').domId).click();
        }
    }
}

顺便说一句,我正在使用CKEditor 4.0(修订版769d96134b)

可能有更好的方法,但我是这样做的:

var ckDialog = window.CKEDITOR.dialog.getCurrent(),
    ckCancel = ckDialog._.buttons['cancel'],
    ckOk = ckDialog._.buttons['ok'];

ckOK.click();
诀窍是获取按钮,然后使用CKEditor按钮API模拟单击。由于某些原因,我无法调用dialog.getButton(“确定”),因为getButton由于某些原因未定义。我的方法是挖掘私人数据,我怀疑这是最好的方法

从onShow事件(定义对话框时)中,我可以获得ok按钮,如文档所示:

onShow: function () {
    var okBtn = this.getButton('ok');
    ...
}

这是按钮API:,您也可以在那里访问对话API(我假设您已经去过那里!!!)

谢谢!实际上,我已经在页脚添加了jquery元素,在ok button元素中添加了类。。也许不是最好的方法,但它是最快的。如果你想在ckeditor对话框中获得最大的灵活性,请查看iframedialog插件。我刚刚用它构建了一个媒体上传程序,这无法想象使用ckeditorapi可以做什么。谢谢!实际上,我已经在页脚添加了jquery元素,在ok button元素中添加了类。。也许不是最好的方法,但它是最快的。