我嘗試將一個非常簡單的工具欄配置應用於嵌入式CKEditor。目標是隻顯示一個粗體按鈕,但它不起作用。爲什麼?工具欄配置不適用於嵌入式CKEditor
CKEDITOR.inline(el.get(0),
{
toolbar:
[
{ name: 'basicstyles', items: [ 'Bold' ] }
]
});
https://jsfiddle.net/adrianrosca/q6x6s6ga/
我嘗試將一個非常簡單的工具欄配置應用於嵌入式CKEditor。目標是隻顯示一個粗體按鈕,但它不起作用。爲什麼?工具欄配置不適用於嵌入式CKEditor
CKEDITOR.inline(el.get(0),
{
toolbar:
[
{ name: 'basicstyles', items: [ 'Bold' ] }
]
});
https://jsfiddle.net/adrianrosca/q6x6s6ga/
我分叉和更新你的小提琴:https://jsfiddle.net/Comandeer/q6x6s6ga/30/
$(function() {
var el = $('#editor1');
el.attr('contenteditable', true);
CKEDITOR.inline(el.get(0),
{
toolbar: [ [ 'Bold' ] ]
});
});
有兩個問題與您的代碼:
[contenteditable=true]
元素會自動轉換成它的情況下,你必須disable it first。因此,在您的JS代碼中添加[contenteditable]
就更容易了,然後創建一個內聯編輯器。編輯:版本CKEDITOR.disableAutoInline
https://jsfiddle.net/Comandeer/q6x6s6ga/31/
的問題是在等待onload
事件。如果您只是將該代碼放在body
的末尾,那麼一切正常。
可以解決更新CKEDITOR源,即
http://cdn.ckeditor.com/4.5.7/standard/ckeditor.js
和編輯您的代碼如下:
$(function()
{
var el = $("div");
CKEDITOR.disableAutoInline = true;
for (var inst in CKEDITOR.instances) {
CKEDITOR.instances[inst].destroy();
}
CKEDITOR.inline(el.get(0),
{
toolbar:
[
{ name: 'basicstyles', items: [ 'Bold' ] }
]
});
});
配置可以用'CKEDITOR.disableAutoInline = true'設置,就像馬特在他的回答中所描述的那樣。你可以讓你的小提琴工作,而不是用jQuery添加contenteditable屬性?我試過,但無法使它工作... –
好吧,我用這樣的例子更新了我的答案。 – Comandeer