Tengo una instancia CodeMirror incrustada en una aplicación web que estoy creando. Funciona muy bien, excepto que el contenido inicial no se mostrará hasta que el usuario ingrese un nuevo carácter. Por lo tanto, está todo allí pero escondido hasta que el usuario fuerce un cambio. Esto es malo. ¿Hay alguna forma en que pueda forzar el repintado o la actualización del navegador para simular la introducción de un carácter? El espacio en blanco funcionará.CodeMirror tiene contenido pero no se mostrará hasta que presione la tecla
Aquí está el código ...
<textarea id='code-mirror' ><?php echo $contents; ?></textarea>
<script>
jQuery(document).ready(function(){
var textarea = document.getElementById('code-mirror');
var myCodeMirror = CodeMirror.fromTextArea(textarea,
{
onUpdate:codemirrorcallback,
});
// myCodeMirror.refresh(); ? is this an option?
});
</script>
Esta producción de un editor de trabajo que guarda el contenido y muestra el contenido guardado en el interior del área de texto, pero sólo muestra que después de que el usuario comienza a editarlo. Antes de eso, está en blanco.
Cualquier ayuda, incluso los enlaces serán muy apreciados. ¡Gracias chicos!
ACTUALIZACIÓN
Calling .Refresh en myCodeMirror está imprimiendo un error en la consola de Chrome Uncaught TypeError: Cannot call method 'focus' of undefined
Tuve el mismo problema y esto pareció solucionarlo. ¿Tienes una idea de por qué esto funciona? – Sarumanatee
Los monos espaciales no me permiten usar el setTimeout. Eliminarlo funcionó para mí. – Tk421
Cada vez que tiene que usar un 'setTimeout' o similar a" ponerlo a trabajar ", es _normalmente_ (no estoy seguro en este caso) debido a que alguien liberó Zalgo (mezcla de sincronización vs API asíncrona). Más sobre esto aquí: http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony – papercowboy