Set Value for ace editor sans sélectionner tout l’éditeur

Vous pouvez donc 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 mets la valeur de l’éditeur ace sur Hello world , cela ne mettra pas en évidence 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 le même problème.

Même si vous pouvez définir le deuxième 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 avoir créé 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 la déplacer vous-même à l’aide de Editor.selection.moveTo(row, column) . en utilisant, disons, CTRL + Z pour annuler une action 🙂

  var prevtext = $("#editor").val(); prevtext = prevtext + "
"; $("#editor").val(prevtext).blur();