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

Pixelado
fuente

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
un usuario
fuente
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
Harsha pps
fuente
10

¡Esto funciona para mí!

editor.setValue(editor.getValue(), 1);
circuitos
fuente
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 :)

Razvan Tanase
fuente
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();
Harikesh Yadav
fuente