2013-03-27 12 views

risposta

7

Quello che ti manca è l'attributo contenteditable="true" per il tuo elemento. Se si desidera personalizzare l'editor (ovvero, eseguito tramite CKEDITOR.inline(element, cfg)), impostare prima CKEDITOR.disableAutoInline = true;.

Con CKEDITOR.disableAutoInline = true;, tutti gli elementi contenteditable="true" devono essere inizializzati manualmente per diventare un'istanza di editor. Vedi lo official guide per le istanze in linea.

+0

Ehi ... Ok, hai ragione entrambi. Devo usare contenteditable = "true" - ma anche disableAutoInline = "true" come oleq ha detto. La soluzione: http://jsfiddle.net/5LuyD/2/ Grazie mille a tutti e due –

2

Hai perso l'attributo contenteditable = "true" per i tag che sono modificabili!

Ecco il violino. http://fiddle.jshell.net/5LuyD/1/

+0

No !. Se uso contenteditable = "true" otterrai lo standard, non configurato. Quando si utilizza il comando inlne(), è possibile impostare quali pulsanti si consentono. –

+0

Ma per iniziare! devi impostare contenteditable = "true". Se non lo fai, il testo non sarà modificabile e i pulsanti non diventeranno attivi. Dammi un minuto e controllerò perché i tuoi pulsanti non funzioneranno. – spons

2

Per chiunque abbia questo problema nonostante l'impostazione di contenteditable="true", c'è un problema con Chrome dove contenteditable è impostato su false se l'elemento (o l'elemento principale) non è visibile.

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

La soluzione è sia a) assicurare l'elemento è visibile prima di chiamare CKEDITOR.inline() o b) utilizzare un textarea invece di un elemento contenteditable (CKE aggiunge un div contenteditable dopo la textarea in questo caso) .

1

Ho appena avuto lo stesso problema e ho scoperto una soluzione diversa per questo. Se l'elemento genitore (o l'elemento stesso) è originariamente impostato per la visualizzazione: none the contenteditable will = false (su chrome).

Questa correzione ha lavorato per me:

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

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

0

Ho avuto lo stesso problema e nessuna delle altre soluzioni suggerite funzionato.

Il problema era che l'attributo id del div era iniziato con un carattere numerico (era un GUID). Cambiando l'id per iniziare con un carattere alfa lavorato: tutti i pulsanti dell'editor erano abilitati.

Per qualche motivo, ckEditor non ama gli ID che iniziano con caratteri numerici.

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); 
    }); 
}}); 
Problemi correlati