2013-03-27 14 views

Antwort

7

Was Sie fehlt, ist contenteditable="true" Attribut für Ihr Element. Wenn Sie den Editor anpassen möchten (z. B. über CKEDITOR.inline(element, cfg)), setzen Sie zuerst CKEDITOR.disableAutoInline = true;.

Mit CKEDITOR.disableAutoInline = true; müssen alle contenteditable="true" Elemente manuell initialisiert werden, um eine Editorinstanz zu werden. Siehe die official guide für Inline-Instanzen.

+0

Hey ... Okay, Sie haben beide recht. Ich muss contenteditable = "true" verwenden - aber auch disableAutoInline = "true", wie olec sagt. Die Lösung: http://jsfiddle.net/5LuyD/2/ Vielen Dank Ihnen beiden –

2

Sie haben das Attribut contenteditable = "true" für die bearbeitbaren Tags verpasst!

Hier ist die Geige. http://fiddle.jshell.net/5LuyD/1/

+0

Nein !. Wenn ich contenteditable = "true" verwende, erhältst du den Standart, unkonfiguriert. Wenn Sie den Befehl inlne() verwenden, können Sie festlegen, welche Schaltflächen Sie zulassen. –

+0

Aber für Sie zu starten! Sie müssen das contenteditable = "wahr" setzen. Wenn Sie das nicht tun, kann der Text nicht editiert werden und die Buttons werden nicht aktiv., Geben Sie mir eine Minute und ich werde prüfen, warum Ihre Buttons nicht funktionieren. – spons

2

Für alle, die dieses Problem trotz Einstellung contenteditable="true" haben, gibt es ein Problem mit Chrome, bei dem contenteditable auf false gesetzt ist, wenn das Element (oder Elternelement) nicht sichtbar ist.

See: http://ckeditor.com/forums/CKEditor/Solved-Chrome-Toolbar-buttons-grayed-out-for-INLINE-editor

Die Lösung ist entweder a) sicherzustellen, das Element sichtbar ist, bevor CKEDITOR.inline() oder b) verwenden, um ein Textfeld statt einem contenteditable Elements Aufruf (CKE fügt eine contenteditable div nach dem Text in diesem Fall) .

1

Ich hatte gerade das gleiche Problem und ich entdeckte eine andere Lösung für sie. Wenn das übergeordnete Element (oder das Element selbst) ursprünglich so eingestellt ist, dass es angezeigt wird: none ist das contenteditable = false (auf chrome).

Dieses Update ist für mich:

var ck = CKEDITOR.inline(element); 
ck.on('instanceReady', function(event) { 
    var editor = event.editor; 
    editor.setReadOnly(false); 
}); 

Ref: https://dev.ckeditor.com/ticket/9814

0

Ich hatte das gleiche Problem und keines der anderen vorgeschlagenen Lösungen gearbeitet.

Das Problem war, dass das ID-Attribut des Div mit einem numerischen Zeichen (es war eine GUID) begann. Das Ändern der ID, um mit einem Alpha-Zeichen zu beginnen, hat funktioniert: Alle Editor-Schaltflächen wurden aktiviert.

Aus irgendeinem Grund mag ckEditor keine IDs, die mit numerischen Zeichen beginnen.

0
$(document).ready(function(){ 
    for(var i in CKEDITOR.instances) { 
       var ck=CKEDITOR.instances[i]; 
       ck.on('instanceReady', function(ev) { 
       var editor = ev.editor; 
      editor.setReadOnly(false); 
    }); 
}}); 
Verwandte Themen