2012-01-09 31 views
8

Estoy usando CKEditor ver.3.6 en mi aplicación MVC.Reemplazar el contenido seleccionado en el ckEditor con contenido nuevo usando javascript

Mi requisito es actualizar el texto seleccionado con texto nuevo en el ckEditor. Pude averiguar el método editor.getSelection(). GetSelectedText(); para obtener el texto seleccionado del editor. Necesito agregar alguna etiqueta con el texto seleccionado cuando se presiona un botón de la barra de herramientas y actualizar el contenido seleccionado usando javascript.

Por ejemplo:

contenido en el CKeditor es

 
<span>Edit content in the editor</span> 

y he elegido la palabra “editor” de CKeditor. Tengo que actualizar la palabra seleccionada "editor" con "ckEditor" usando código javascript.

Por favor, sugiera una solución adecuada.

Respuesta

3

Me da la impresión de los documentos que el siguiente iba a funcionar (no probado):

editor.insertText("ckEditor"); 
+0

Además, la sustituyen el elemento debe ser seleccionado. editor.getSelection(). selectElement (elemento); – efeyc

+0

@efeyc ¿cómo se obtiene 'elemento'? –

4

Utilice esta función en el evento onclick de un botón.

function Replace() 
{ 
    //after selecting the text in the editor 
    //get text to replace;  
    var repStr=$("#repTxt").val();   
    editor.insertHtml(repStr);  
} 

Saludos Sunil Raj

1

Tanto editor.insertText() y editor.insertHtml() debería funcionar, pero hay que asegurarse de que el editor está listo antes de intentar actualizar el texto:

var editor = CKEDITOR.replace('editor'); 

editor.on('instanceReady', function(){ 
    editor.insertHtml('...'); 
}); 
Cuestiones relacionadas