Establecer valor para el editor ace sin seleccionar todo el editor


92

Por lo tanto, puede establecer el valor de un editor ace con setValuepero después de establecer el valor, el editor seleccionará el valor completo del editor. ¿Cómo desactivas esto? Esto significa que cuando establezco el valor del editor ace en Hello world, no resaltaráHello world

Respuestas:


165

Puede utilizar el segundo parámetro para controlar la posición del cursor después de setValue

editor.setValue(str, -1) // moves cursor to the start
editor.setValue(str, 1) // moves cursor to the end

17

Incluso puede usar clearSelection () después de hacer un setValue ();

editor.setValue("Hello World");
editor.clearSelection(); // This will remove the highlight over the text

10

¡Esto funciona para mí!

editor.setValue(editor.getValue(), 1);

0

Tuve el mismo problema.

Aunque puede establecer el segundo parámetro en 1 o -1 , creo que también debería verificar esto: https://ace.c9.io/api/editor.html#Editor.setValue

Editor.setWrapBehavioursEnabled(Boolean enabled)

Use esto justo después de crear el editor.

Este trabajo es muy bueno para mi. La diferencia entre este método y el que comparte un usuario es que la posición del cursor no cambia, puede moverlo usted mismo usando Editor.selection.moveTo(row, column), de esta manera el usuario no experimentará cambios extraños en la posición del cursor cuando use, digamos, CTRL + Z para deshacer. una acción :)


1
Esta respuesta no es clara, ¿quiere decir que llamar Editor.setWrapBehavioursEnabled(Boolean enabled)con algún valor justo después de inicializar el editor evitará que se seleccione todo el texto al llamar editor.setValue?
Macario

0
 var prevtext = $("#editor").val();
 prevtext = prevtext + "<br/>";
 $("#editor").val(prevtext).blur();
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.