selection

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

* Some parts of this feature may have varying levels of support.

Résumé

La classe de l'objet retourné par window.getSelection(), document.getSelection() et d'autres méthodes.

Description

Un objet selection représente les plages sélectionnées par l'utilisateur. Habituellement, il ne contient qu'une seule plage accessible comme ceci :

js
range = sel.getRangeAt(0);

L'appel de la méthode toString() renvoie le texte contenu dans la sélection. Cet appel peut être automatique, par exemple lorsque l'objet est passé à la fonction alert() :

js
selObj = window.getSelection();
window.alert(selObj);

Glossaire

Autres mots clés utilisés dans cette section.

anchor (ancre)

L'« ancre » d'une sélection est son point de départ. Pour une sélection avec la souris, l'« ancre » correspond à l'endroit initialement pressé par le bouton de la souris. Quand l'utilisateur modifie la sélection à la souris ou au clavier, l'« ancre » ne change pas.

focus (focus)

Le « focus » d'une sélection est son point d'arrivée. Pour une sélection avec la souris, le « focus » correspond à l'endroit où le bouton de la souris est relaché. Quand l'utilisateur modifie la sélection à la souris ou au clavier, le « focus » pointe la fin de la sélection modifiée.

range (plage)

Une « plage » est une partie contigüe d'un document. Une « plage » peut contenir aussi bien des nœuds entiers que des portions de nœuds, comme un extrait de nœud texte. Habituellement, un utilisateur n'effectuera qu'une seule sélection à la fois, mais il lui est possible de sélectionner plusieurs « plages » (par ex. en utilisant la touche Ctrl). Une « plage » est obtenue depuis une sélection par l'objet range. Les objets range peuvent également être créés via le DOM et ajoutés ou supprimés d'une sélection par programmation.

Propriétés

anchorNode

Renvoie le nœud d'où la sélection commence.

anchorOffset

Renvoie un nombre correspondant au décalage de l'« ancre » de la sélection au sein de l'anchorNode. Si l'anchorNode est un noeud texte, il s'agit du nombre de caractères précédants l'« ancre » au sein de l'anchorNode. Si l'anchorNode est un élément, il s'agit du nombre de noeuds enfants de l'anchorNode précédant l'« ancre ».

focusNode

Renvoie le nœud où la sélection se termine.

focusOffset

Renvoie un nombre correspondant au décalage du « focus » de la sélection au sein du focusNode. Si le focusNode est un noeud texte, il s'agit du nombre de caractères précédants le « focus » au sein du focusNode. Si le focusNode est un élément, il s'agit du nombre de noeuds enfants du focusNode précédant le « focus ».

isCollapsed

Renvoie un booléen indiquant si le point de départ et d'arrivée sont à la même position.

rangeCount

Renvoie le nombre de « plages » dans la sélection.

Méthodes

  • getRangeAt
    • : Renvoie un objet range représentant une des « plages » actuellement sélectionnée.
  • collapse
    • : Réduit la sélection courante à un simple point.
  • extend
    • : Déplace le « focus » de la sélection à un endroit spécifié.
  • collapseToStart
    • : Déplace le « focus » de la sélection au même point que l'« ancre ».
  • collapseToEnd
    • : Déplace l'« ancre » de la sélection au même point que le « focus ». Le « focus » ne bouge pas.
  • selectAllChildren
    • : Ajoute tous les enfants d'un nœud spécifié à la sélection.
  • addRange
    • : Un objet range devant être ajouté à la sélection.
  • removeRange
    • : Supprime une « plage » de la sélection.
  • removeAllRanges
    • : Supprime toutes les « plages » de la sélection.
  • deleteFromDocument
    • : Efface le contenu de la sélection du document.
  • selectionLanguageChange
    • :
  • toString
    • : Renvoie une chaîne de caractères représentant l'actuel objet selection, i.e. le texte sélectionné.
  • containsNode
    • : Indique si un nœud donné appartient à la sélection.

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Selection
addRange
anchorNode
anchorOffset
collapse
Accepts node parameter in any tree/shadow tree
Experimental
node parameter is nullable
offset parameter is optional
collapseToEnd
collapseToStart
containsNode
partialContainment parameter is optional
deleteFromDocument
direction
empty() as alias of removeAllRanges()
extend
Accepts node parameter in any tree/shadow tree
Experimental
offset parameter is optional
focusNode
focusOffset
getComposedRanges
Experimental
Returned array can contain multiple ranges
ExperimentalNon-standard
getRangeAt
isCollapsed
modify
rangeCount
removeAllRanges
removeRange
selectAllChildren
setBaseAndExtent
Accepts anchorNode and focusNode arguments in different shadow trees
Experimental
setPosition() as alias of collapse()
toString
type

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
Experimental. Expect behavior to change in the future.
Non-standard. Check cross-browser support before using.
See implementation notes.
Has more compatibility info.

Voir aussi

Liens externes