Установите значение для редактора ace, не выбирая весь редактор

92

Таким образом, вы можете установить значение редактора ace, setValueно после установки значения редактор выберет все значение редактора. Как это отключить? Это означает, что когда я устанавливаю значение редактора ace на Hello world, он не выделяетсяHello world

Пиксельный
источник

Ответы:

165

Вы можете использовать второй параметр для управления положением курсора после setValue

editor.setValue(str, -1) // moves cursor to the start
editor.setValue(str, 1) // moves cursor to the end
Пользователь
источник
17

Вы даже можете использовать clearSelection () после того, как выполните setValue ();

editor.setValue("Hello World");
editor.clearSelection(); // This will remove the highlight over the text
Харша ппс
источник
10

У меня это работает!

editor.setValue(editor.getValue(), 1);
схема
источник
0

У меня была такая же проблема.

Хотя вы можете установить второй параметр либо на 1, либо на -1 , я думаю, вам также следует проверить это: https://ace.c9.io/api/editor.html#Editor.setValue

Editor.setWrapBehavioursEnabled(Boolean enabled)

Используйте это сразу после создания редактора.

У меня это работает очень хорошо. Разница между этим методом и методом, используемым пользователем, заключается в том, что положение курсора не изменяется, вы можете перемещать его самостоятельно Editor.selection.moveTo(row, column), таким образом, пользователь не будет испытывать странных изменений положения курсора при использовании, скажем, CTRL + Z для отмены. действие :)

Разван Тэнасе
источник
1
Этот ответ непонятен. Вы имеете в виду, что вызов Editor.setWrapBehavioursEnabled(Boolean enabled)с некоторым значением сразу после инициализации редактора предотвратит выбор всего текста при вызове editor.setValue?
Macario
0
 var prevtext = $("#editor").val();
 prevtext = prevtext + "<br/>";
 $("#editor").val(prevtext).blur();
Харикеш Ядав
источник