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

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

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

10

Das funktioniert bei mir!

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

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


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();
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.