Me gustaría poder convertir áreas de texto específicas en una página para que sean editores ACE.
¿Alguien tiene algún consejo, por favor?
EDITAR:
Tengo el archivo editor.html funcionando con un área de texto, pero tan pronto como agrego un segundo, el segundo no se convierte en un editor.
EDITAR 2:
Decidí descartar la idea de tener varios y, en su lugar, abrir uno en una nueva ventana. Mi nuevo problema es que cuando oculto () y muestro () el área de texto, la pantalla sale mal. ¿Algunas ideas?
javascript
textarea
ace-editor
Pablo
fuente
fuente
Respuestas:
Por lo que entendí la idea de Ace, no deberías convertir un área de texto en un editor de Ace. Debería crear un div adicional y actualizar textarea usando la función .getSession () en su lugar.
html
js
o simplemente llama
solo cuando envíe el formulario con el área de texto dada. No estoy seguro de si esta es la forma correcta de usar Ace, pero es la forma en que se usa en GitHub .
fuente
'SELECT 1OR&nbps;2;'
a textarea. ¿Alguien puede decirme qué estoy haciendo mal?Duncansmart tiene una solución bastante impresionante en su página de github, progress-ace, que demuestra una forma sencilla de conectar un editor ACE a su página.
Básicamente, obtenemos todos los
<textarea>
elementos con eldata-editor
atributo y convertimos cada uno en un editor ACE. El ejemplo también establece algunas propiedades que debe personalizar a su gusto y demuestra cómo puede usardata
atributos para establecer propiedades por elemento, como mostrar y ocultar el canalóndata-gutter
.fuente
Puede tener varios Ace Editors. Simplemente dé a cada área de texto una ID y cree un Ace Editor para ambos IDS así:
fuente
Para crear un editor, simplemente haga lo siguiente:
HTML:
JS:
CSS:
Deben colocarse y dimensionarse explícitamente. Por show () y hide () creo que se está refiriendo a las funciones jQuery. No estoy seguro de cómo lo hacen exactamente, pero no puede modificar el espacio que ocupa en el DOM. Me escondo y muestro usando:
Si usa la propiedad css 'display', no funcionará.
Consulte la wiki aquí para saber cómo agregar temas, modos, etc. https://github.com/ajaxorg/ace/wiki/Embedding---API
Nota: no tienen que ser áreas de texto, pueden ser cualquier elemento que desee.
fuente
ace.edit('code1')
, obtienes basura como:<textarea class="ace_editor ace-twilight ace_focus"><div class="ace_gutter">...</textarea>
En otras palabras, ace.edit intenta meterse dentro de textarea y esto no es muy agradable.Para cualquiera como yo que solo quiera un ejemplo mínimo y funcional del uso de Ace de la CDN:
fuente