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 :

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() : 

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

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
Support simple Oui Oui Oui19 Oui Oui
addRange ? Oui Oui ? ? ?
anchorNode ? Oui Oui ? ? ?
anchorOffset ? Oui Oui ? ? ?
collapse Oui Oui Oui9 Oui Oui
collapseToStart Oui Oui Oui ? ? ?
collapseToEnd Oui Oui Oui ? ? ?
containsNode Oui Oui42 Non Oui Oui
deleteFromDocument Oui Oui55 ? Oui ?
empty() as alias of removeAllRanges() Oui ?55 ? Oui Oui
extend Oui Oui Oui Non Oui Oui
focusNode Oui Oui3.610 Oui5.1
focusOffset Oui Oui Oui ? ? ?
getRangeAt Oui Oui Oui ? ? ?
isCollapsed ? Oui Oui ? ? ?
modify Oui ?4 ? Oui Oui
rangeCount Oui Oui Oui Oui Oui ?
removeRange58 Oui Oui ?45 Non
removeAllRanges Oui Oui Oui Oui Oui Oui
selectAllChildren Oui Oui Oui Oui Oui Oui
setBaseAndExtent Oui ?53 ? Oui ?
setPosition() as alias of collapse() Oui ?55 ? Oui Oui
toString ? Oui Oui ? ? ?
type Oui Oui57 Oui Oui ?
FonctionnalitéAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Support simple Oui Oui Oui Oui1 Oui Oui ?
addRange ? ? Oui Oui ? ? ?
anchorNode ? ? Oui Oui ? ? ?
anchorOffset ? ? Oui Oui ? ? ?
collapse ? Oui Oui Oui Oui Oui ?
collapseToStart ? Oui Oui Oui ? ? ?
collapseToEnd ? Oui Oui Oui ? ? ?
containsNode ? Oui Oui42 Oui Oui ?
deleteFromDocument Oui Oui Oui55 Oui ? ?
empty() as alias of removeAllRanges() Oui Oui ?55 Oui Oui ?
extend Non Oui Oui Oui Oui Oui ?
focusNode ? Oui Oui Oui ? ? ?
focusOffset ? Oui Oui Oui ? ? ?
getRangeAt ? Oui Oui Oui ? ? ?
isCollapsed ? ? Oui Oui ? ? ?
modify Oui Oui ?4 Oui Oui ?
rangeCount ? Oui Oui Oui ? ? ?
removeRange5858 Oui Oui45 Non ?
removeAllRanges ? Oui Oui Oui Oui Oui ?
selectAllChildren ? Oui Oui Oui Oui Oui ?
setBaseAndExtent Oui Oui ?53 Oui ? ?
setPosition() as alias of collapse() Oui Oui ?55 Oui Oui ?
toString ? ? Oui Oui ? ? ?
type Oui Oui Oui57 Oui ? ?

1. The GlobalEventHandlers.onselectionchange and GlobalEventHandlers.onselectstart event handlers are supported as of Firefox 52.

2. Before Firefox 35, the method didn't throw if node was null.

Voir aussi

window.getSelectiondocument.getSelection(),Range

Liens externes

 

 

Étiquettes et contributeurs liés au document

Dernière mise à jour par : scientificware,