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

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

17

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

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

10

To działa dla mnie!

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

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 :)


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();
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.