Stellen Sie den Wert für den Ass-Editor ein, ohne den gesamten Editor auszuwählen

90

Sie können also den Wert eines Ass-Editors mit festlegen, setValueaber nach dem Festlegen des Werts wählt der Editor den gesamten Wert des Editors aus. Wie deaktivierst du das? Das heißt, wenn ich den Wert des Ass-Editors auf setze Hello world, wird er nicht hervorgehobenHello world

Pixeladed
quelle

Antworten:

162

Mit dem zweiten Parameter können Sie die Cursorposition nach setValue steuern

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

Sie können clearSelection () sogar verwenden, nachdem Sie setValue () ausgeführt haben.

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

Das funktioniert bei mir!

editor.setValue(editor.getValue(), 1);
Schaltung
quelle
0

Ich habe das gleiche Problem gehabt.

Obwohl Sie den zweiten Parameter entweder auf 1 oder -1 setzen können , sollten Sie dies auch überprüfen: https://ace.c9.io/api/editor.html#Editor.setValue

Editor.setWrapBehavioursEnabled(Boolean enabled)

Verwenden Sie dies direkt nach dem Erstellen des Editors.

Das funktioniert sehr gut für mich. Der Unterschied zwischen dieser Methode und der von einem Benutzer gemeinsam genutzten Methode besteht darin, dass die Position des Carets nicht geändert wird. Sie können sie selbst verschieben Editor.selection.moveTo(row, column). Auf diese Weise kann der Benutzer keine merkwürdigen Änderungen der Caret-Position feststellen, wenn er beispielsweise STRG + Z zum Rückgängigmachen verwendet eine Handlung :)

Razvan Tanase
quelle
1
Diese Antwort ist nicht klar. Meinen Sie, dass ein Aufruf Editor.setWrapBehavioursEnabled(Boolean enabled)mit einem bestimmten Wert unmittelbar nach der Initialisierung des Editors verhindert, dass beim Aufrufen der gesamte Text ausgewählt wird editor.setValue?
Macario
0
 var prevtext = $("#editor").val();
 prevtext = prevtext + "<br/>";
 $("#editor").val(prevtext).blur();
Harikesh Yadav
quelle