2012-10-11 22 views
8

Necesito poder activar/desactivar la edición en línea con un botón. Ver aquí por ejemplo de la edición en línea: http://nightly-v4.ckeditor.com/3559/samples/inlineall.htmlActivar y desactivar la edición en línea de CKEditor 4 con JavaScript

Mi marcado es tan así:

<div contenteditable='true'>Mycontent</div> 

Usando jQuery Quiero ser capaz de activar/desactivar el editor.

He intentado configurar contenteditable en falso, pero esto no funciona. El editor no está cargando de nuevo en la página al alternar la configuración contenteditable.

Adición: También necesitaba destruir todas las instancias en línea de CKEditor haciendo clic en un botón. Así es como lo hice:

 //kill all ckeditors 
     for(k in CKEDITOR.instances){ 
      var instance = CKEDITOR.instances[k]; 
      instance.destroy(); 
     } 

Respuesta

6

jQuery no lo ayudará. Use la API de CKEditor. P.ej. puede destruir el editor cada vez que quiera apagarlo (consulte http://nightly-v4.ckeditor.com/ckeditor_api/#!/api/CKEDITOR.editor-method-destroy) e inicializar nuevamente para activarlo. Puede haber otras formas de "desactivar el editor", pero tendría que ser más preciso para saber qué significa para usted.

+0

Gracias, esto de hecho lo destruye. ¿Cómo crear una instancia del editor en línea nuevamente? – izip

+0

Quería escribir eso, exactamente de la misma manera en que lo instanciaste la primera vez, pero luego pensé que estaba creando instancias automáticamente: D. De todos modos, 'CKEDITOR.inline ('div_id')'. Verifique [esta demostración] (http://nightly-v4.ckeditor.com/3559/samples/inlinebycode.html). – Reinmar

+0

No estoy seguro de si estoy haciendo algo mal, pero después de que se destruye la instancia en línea, aunque las barras de herramientas desaparecen, el área del editor aún se puede editar. También el cursor parpadeante está allí. ¿Cómo puedo hacer que funcione como antes de CKEDITOR.inline(); - Quiero decir contenido estático. – NickSoft

Cuestiones relacionadas