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
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
Cela fonctionne pour moi!
editor.setValue(editor.getValue(), 1);
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
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 :)
var prevtext = $("#editor").val();
prevtext = prevtext + "<br/>";
$("#editor").val(prevtext).blur();