私は CKEditor を使用しており、CKEditor ダイアログをポップアップするプラグインを作成しました。
OKボタンを再設計し、テキストボックスやチェックボックスなどの要素をフッターに追加する必要がありますが、そうするのは複雑すぎるようです.必要ですが、今私が欲しいのは、非表示のフッターでokButtonをトリガーすることですが、それを行う方法が見つかりません..
誰?!
私は CKEditor を使用しており、CKEditor ダイアログをポップアップするプラグインを作成しました。
OKボタンを再設計し、テキストボックスやチェックボックスなどの要素をフッターに追加する必要がありますが、そうするのは複雑すぎるようです.必要ですが、今私が欲しいのは、非表示のフッターでokButtonをトリガーすることですが、それを行う方法が見つかりません..
誰?!
もっと良い方法があるかもしれませんが、私がやっている方法は次のとおりです。
var ckDialog = window.CKEDITOR.dialog.getCurrent(),
ckCancel = ckDialog._.buttons['cancel'],
ckOk = ckDialog._.buttons['ok'];
ckOK.click();
秘訣は、ボタンを取得してから、CKEditor ボタン API を使用してクリックをシミュレートすることです。getButton が何らかの理由で定義されていないため、何らかの理由で dialog.getButton('ok') を呼び出すことができませんでした。私の方法は個人データを掘り下げますが、これが最善の方法であるとは思えません。
onShow イベント (ダイアログを定義するとき) から、ドキュメントが示すように [OK] ボタンを取得できました。
onShow: function () {
var okBtn = this.getButton('ok');
...
}
ボタン API は次のとおりです: http://docs.ckeditor.com/#!/api/CKEDITOR.ui.dialog.buttonで、ダイアログ API にもアクセスできます (既に行ったことがあると思います!! !)
この行を 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)を使用しています。