javascript - libreria - tinymce text editor
Insertar texto en TinyMCE Editor donde está el cursor (3)
He intentado insertar texto en el Editor TinyMCE en el elemento de párrafo centrado ( <p>
) exactamente donde está el cursor, pero no tuve suerte.
var elem = tinyMCE.activeEditor.dom.get(''tinymce'');
var child = elem.firstChild;
while (child) {
if (child.focused) {
$(child).insertAtCaret("some text");
}
child = child.nextSibling;
}
Si alguien tiene alguna idea sobre cómo resolver esto, estaré muy agradecido.
Debe usar el comando mceInsertContent
. Ver la documentación de TinyMCE .
tinymce.activeEditor.execCommand(''mceInsertContent'', false, "some text");
La respuesta anterior es buena, pero vale la pena señalar que esto se puede utilizar para insertar cualquier HTML.
Por ejemplo:
tinymce.activeEditor.execCommand(''mceInsertContent'', false, " <b>bolded text</b> ");
insertará texto en negrita en la ubicación actual del cursor.
Algunas otras observaciones interesantes:
mceInsertRawHTML también funciona, pero tiende a poner el cursor al comienzo de la línea actual en mi versión de tinyMCE, pero ymmv.
mceReplaceContent funciona también, pero en mi caso no funcionó bien cuando el cursor estaba al final del contenido actual.
Nuevamente, vea la documentación para más información.
Si usa la ventana emergente, puede usar:
tinyMCEPopup.editor.execCommand(''mceInsertLink'', false, ''some content goes here'');
// mceInsertLink inserta el contenido en el cursor actual o la posición de intercalación. // Si el editor no está enfocado, la inserción estará en el primer contenido de la línea en el editor.
Si desea insertar etiquetas HTML y variables de JavaScript, puede usar, por ejemplo:
<script type=''text/javascript''>
var my_var= "some value";
var my_var_two = 99;
tinyMCEPopup.editor.execCommand(''mceInsertLink'', false,
''<span >['' + my_var + '', '' + my_var_two + '']</span>'');
tinyMCEPopup.close(); // too close the popup window
</script>
Si está en un archivo PHP, puede usar la misma estrategia, solo use PHP en lugar de JavaScript, por ejemplo:
<script type=''text/javascript''>
tinyMCEPopup.editor.execCommand(''mceInsertContent'', false,
''<span >['' + <?php echo $my_php_var; ?> +'']</span>'');
</script>
También puede asignar variables de PHP (suponiendo que esté en el archivo .php) a variables de Javascript y usarlas en la inserción de contenido del editor, por ejemplo:
<script type=''text/javascript''>
var my_var= "<?php echo $my_php_var; ?>";
var my_var_two = "<?php echo $my_php_var_two_or_a_function_call; ?>";
tinyMCEPopup.editor.execCommand(''mceInsertLink'', false,
''<span >['' + my_var + '', '' + my_var_two + '']</span>'');
tinyMCEPopup.close(); // too close the popup window
</script>