web-dev-qa-db-fra.com

Définir la valeur pour l'éditeur ace sans sélectionner l'éditeur en entier

Ainsi, vous pouvez définir la valeur d'un éditeur d'as avec setValue, mais après avoir défini la valeur, l'éditeur sélectionnera la valeur entière de l'éditeur. Comment désactivez-vous cela? Cela signifie que lorsque je règle la valeur de ace editor sur Hello world, il ne soulignera pas Hello world

81
Pixeladed

Vous pouvez utiliser le second paramètre pour contrôler la position du curseur après setValue

editor.setValue(str, -1) // moves cursor to the start
editor.setValue(str, 1) // moves cursor to the end
137
a user

Cela fonctionne pour moi!

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

Vous pouvez même utiliser clearSelection () après avoir défini setValue ();

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

J'ai eu votre même problème.

Même si vous pouvez définir le second paramètre sur 1 ou -1, vous devriez également vérifier ceci: https://ace.c9.io/api/editor.html#Editor .setValue

Editor.setWrapBehavioursEnabled(Boolean enabled)

Utilisez ce droit après la création de l'éditeur.

Cela fonctionne très bien pour moi ... La différence entre cette méthode et celle partagée par un utilisateur est que la position du curseur n'est pas modifiée, vous pouvez le déplacer vous-même à l'aide de Editor.selection.moveTo(row, column), de cette manière l'utilisateur faites l'expérience d'étranges changements de position du curseur lorsque vous utilisez, par exemple, CTRL + Z pour annuler une action :)

0
Razvan Tanase
 var prevtext = $("#editor").val();
 prevtext = prevtext + "<br/>";
 $("#editor").val(prevtext).blur();
0
Harikesh Yadav