Ustaw wartość dla edytora asów bez wybierania całego edytora

92

Możesz więc ustawić wartość edytora asa za pomocą, setValueale po ustawieniu wartości edytor wybierze całą wartość edytora. Jak to wyłączyć? Oznacza to, że kiedy ustawię wartość edytora asa na Hello world, nie zostanie ona podświetlonaHello world

Pixeladed
źródło

Odpowiedzi:

165

Możesz użyć drugiego parametru do sterowania położeniem kursora po ustawieniu setValue

editor.setValue(str, -1) // moves cursor to the start
editor.setValue(str, 1) // moves cursor to the end
użytkownik
źródło
17

Możesz nawet użyć clearSelection () po wykonaniu setValue ();

editor.setValue("Hello World");
editor.clearSelection(); // This will remove the highlight over the text
Harsha pps
źródło
10

To działa dla mnie!

editor.setValue(editor.getValue(), 1);
obwody
źródło
0

Mam ten sam problem.

Chociaż możesz ustawić drugi parametr na 1 lub -1 , myślę, że powinieneś również sprawdzić to: https://ace.c9.io/api/editor.html#Editor.setValue

Editor.setWrapBehavioursEnabled(Boolean enabled)

Użyj tego zaraz po utworzeniu edytora.

U mnie to działa bardzo dobrze. Różnica między tą metodą a tą udostępnianą przez użytkownika polega na tym, że pozycja karetki nie jest zmieniana, możesz ją przesuwać samodzielnie Editor.selection.moveTo(row, column), dzięki czemu użytkownik nie doświadczy dziwnych zmian pozycji karetki podczas używania, powiedzmy, CTRL + Z do cofania akcja :)

Razvan Tanase
źródło
1
Ta odpowiedź nie jest jasna, czy masz na myśli to, że wywołanie Editor.setWrapBehavioursEnabled(Boolean enabled)z jakąś wartością tuż po zainicjowaniu edytora uniemożliwi zaznaczenie całego tekstu podczas dzwonienia editor.setValue?
Macario
0
 var prevtext = $("#editor").val();
 prevtext = prevtext + "<br/>";
 $("#editor").val(prevtext).blur();
Harikesh Yadav
źródło