我正在使用CKEditor,並且我編寫了一個彈出CKEditor對話框的插件。CKEditor - 觸發器對話框確定按鈕
我需要重新設計ok按鈕並添加更多元素,如文本框和複選框,但似乎這樣做很複雜,所以我隱藏了頁腳部分並在對話框內容中創建了一個uiElement與所有我需要的,但現在我想要的是在隱藏頁腳觸發okButton,但我找不到方法來做到這一點..
任何人?
我正在使用CKEditor,並且我編寫了一個彈出CKEditor對話框的插件。CKEditor - 觸發器對話框確定按鈕
我需要重新設計ok按鈕並添加更多元素,如文本框和複選框,但似乎這樣做很複雜,所以我隱藏了頁腳部分並在對話框內容中創建了一個uiElement與所有我需要的,但現在我想要的是在隱藏頁腳觸發okButton,但我找不到方法來做到這一點..
任何人?
您可能會嘗試在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 Button API來模擬點擊。出於某種原因,我無法調用dialog.getButton('ok'),因爲getButton由於某種原因未定義。我的方法深入到私人數據,我懷疑是最好的辦法。
從昂秀事件(定義對話框時),我是能夠得到確定按鈕,如:文檔指出:
onShow: function() {
var okBtn = this.getButton('ok');
...
}
這裏的按鈕API:http://docs.ckeditor.com/#!/api/CKEDITOR.ui.dialog.button,並且也可以訪問該對話框API (我假設你已經去過了!!!)
謝謝!其實我已經結束了添加元素與jQuery的頁腳和類的確定按鈕元素..也許不是最好的方式,但它是最快的。 – Adler