Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

HTMLTextAreaElement : méthode setSelectionRange()

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis ⁨juillet 2015⁩.

La méthode setSelectionRange() de l'interface HTMLTextAreaElement définit les positions de début et de fin de la sélection de texte courante, et éventuellement la direction, dans un élément HTML <textarea>. Cela met à jour immédiatement l'état de la sélection, bien que la surbrillance visuelle n'apparaisse que lorsque l'élément est sélectionné. La direction indique dans quel sens la sélection doit être considérée comme ayant eu lieu ; par exemple, que la sélection a été définie par l'utilisateur·ice en cliquant et en faisant glisser de la fin du texte sélectionné vers le début. De plus, les évènements select et selectionchange sont déclenchés.

Cette méthode met à jour immédiatement les propriétés HTMLTextAreaElement.selectionStart, HTMLTextAreaElement.selectionEnd et HTMLTextAreaElement.selectionDirection, quel que soit l'état de sélection. La surbrillance visuelle de la sélection nécessite que l'élément soit sélectionné.

Note : Bien que setSelectionRange() mette à jour immédiatement les propriétés de sélection, la surbrillance visuelle de la sélection n'apparaît que lorsque le <textarea> est sélectionné. Sélectionner l'élément déclenchera également un évènement selectionchange.

Pour sélectionner tout le texte d'un élément <textarea>, utilisez la méthode HTMLTextAreaElement.select().

Syntaxe

js
setSelectionRange(selectionStart, selectionEnd)
setSelectionRange(selectionStart, selectionEnd, selectionDirection)

Paramètres

selectionStart

L'indice du premier caractère sélectionné. Un indice supérieur à la longueur de la valeur de l'élément est considéré comme pointant à la fin de la valeur. Voir la propriété selectionStart pour plus d'informations.

selectionEnd

L'indice du caractère après le dernier caractère sélectionné. Un indice supérieur à la longueur de la valeur de l'élément est considéré comme pointant à la fin de la valeur. Si selectionEnd est inférieur à selectionStart, alors les deux sont considérés comme ayant la valeur de selectionEnd. Voir la propriété selectionEnd pour plus d'informations.

selectionDirection Facultatif

Le mot-clé "forward", "backward" ou la valeur par défaut "none" — indiquant la direction dans laquelle la sélection est considérée comme ayant été effectuée. Voir la propriété selectionDirection pour plus d'informations.

Valeur retournée

Aucune (undefined).

Exemples

js
const textarea = document.getElementById("text-box");
const chars = textarea.textLength;
// si la valeur contient plus de 10 caractères
if (chars > 10) {
  // L'élément doit être sélectionné pour pouvoir sélectionner une plage de
  // texte à l'intérieur
  textarea.focus();
  // sélectionner le texte entre le cinquième caractère depuis le début et
  // le cinquième caractère depuis la fin
  textarea.setSelectionRange(5, chars - 5);
} else {
  // sinon sélectionner tout le texte
  textarea.select();
}

Spécifications

Specification
HTML
# dom-textarea/input-setselectionrange-dev

Compatibilité des navigateurs

Voir aussi