Définir la valeur pour l'éditeur as sans sélectionner tout l'éditeur


90

Ainsi, vous pouvez définir la valeur d'un éditeur as avec setValuemais après avoir défini la valeur, l'éditeur sélectionnera toute la valeur de l'éditeur. Comment désactivez-vous cela? Cela signifie que lorsque je règle la valeur de l'éditeur as sur Hello world, il ne sera pas mis en surbrillanceHello world

Réponses:


164

Vous pouvez utiliser le deuxième 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

15

Vous pouvez même utiliser clearSelection () après avoir fait un setValue ();

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

10

Cela fonctionne pour moi!

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

0

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

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

Editor.setWrapBehavioursEnabled(Boolean enabled)

Utilisez-le juste 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 le déplacer vous-même en utilisant Editor.selection.moveTo(row, column), de cette façon, l'utilisateur ne subira pas de changements de position du curseur étranges lors de l'utilisation, par exemple, CTRL + Z pour annuler une action :)


1
Cette réponse n'est pas claire, voulez-vous dire que l'appel Editor.setWrapBehavioursEnabled(Boolean enabled)avec une valeur juste après l'initialisation de l'éditeur empêchera tout le texte d'être sélectionné lors de l'appel editor.setValue?
Macario

0
 var prevtext = $("#editor").val();
 prevtext = prevtext + "<br/>";
 $("#editor").val(prevtext).blur();
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.