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 focus
Node
. 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
Ordinateur | Mobile | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Support simple | Chrome Support complet Oui | Edge Support complet Oui | Firefox
Support complet
Oui
| IE Support complet 9 | Opera Support complet Oui | Safari Support complet Oui | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile Support complet Oui | Firefox Android
Support complet
Oui
| Opera Android Support complet Oui | Safari iOS Support complet Oui | Samsung Internet Android ? |
addRange | Chrome Support complet 1 | Edge Support complet Oui | Firefox Support complet Oui | IE ? | Opera Support complet Oui | Safari ? | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile Support complet Oui | Firefox Android Support complet Oui | Opera Android Support complet Oui | Safari iOS ? | Samsung Internet Android ? |
anchorNode | Chrome Support complet 1 | Edge Support complet Oui | Firefox Support complet Oui | IE ? | Opera Support complet Oui | Safari ? | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile Support complet Oui | Firefox Android Support complet Oui | Opera Android Support complet Oui | Safari iOS ? | Samsung Internet Android ? |
anchorOffset | Chrome Support complet 1 | Edge Support complet Oui | Firefox Support complet Oui | IE ? | Opera Support complet Oui | Safari ? | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile Support complet Oui | Firefox Android Support complet Oui | Opera Android Support complet Oui | Safari iOS ? | Samsung Internet Android ? |
collapse | Chrome Support complet Oui | Edge Support complet Oui | Firefox Support complet Oui | IE Support complet 9 | Opera Support complet Oui | Safari Support complet Oui | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile Support complet Oui | Firefox Android Support complet Oui | Opera Android Support complet Oui | Safari iOS Support complet Oui | Samsung Internet Android ? |
collapseToStart | Chrome Support complet Oui | Edge Support complet Oui | Firefox Support complet Oui | IE ? | Opera Support complet Oui | Safari ? | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile Support complet Oui | Firefox Android Support complet Oui | Opera Android Support complet Oui | Safari iOS ? | Samsung Internet Android ? |
collapseToEnd | Chrome Support complet Oui | Edge Support complet Oui | Firefox Support complet Oui | IE ? | Opera Support complet Oui | Safari ? | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile Support complet Oui | Firefox Android Support complet Oui | Opera Android Support complet Oui | Safari iOS ? | Samsung Internet Android ? |
containsNode | Chrome Support complet Oui | Edge Support complet Oui | Firefox
Support complet
4
| IE Aucun support Non | Opera Support complet Oui | Safari Support complet Oui | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile Support complet Oui | Firefox Android
Support complet
4
| Opera Android Support complet Oui | Safari iOS Support complet Oui | Samsung Internet Android ? |
deleteFromDocument | Chrome Support complet Oui | Edge Support complet Oui | Firefox Support complet 55 | IE ? | Opera Support complet Oui | Safari ? | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile Support complet Oui | Firefox Android Support complet 55 | Opera Android Support complet Oui | Safari iOS ? | Samsung Internet Android ? |
empty() as alias of removeAllRanges() | Chrome Support complet Oui | Edge ? | Firefox Support complet 55 | IE ? | Opera Support complet Oui | Safari Support complet Oui | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile ? | Firefox Android Support complet 55 | Opera Android Support complet Oui | Safari iOS Support complet Oui | Samsung Internet Android ? |
extend | Chrome Support complet Oui | Edge Support complet Oui | Firefox Support complet Oui | IE Aucun support Non | Opera Support complet Oui | Safari Support complet Oui | WebView Android Aucun support Non | Chrome Android Support complet Oui | Edge Mobile Support complet Oui | Firefox Android Support complet Oui | Opera Android Support complet Oui | Safari iOS Support complet Oui | Samsung Internet Android ? |
focusNode | Chrome Support complet Oui | Edge Support complet Oui | Firefox Support complet 3.6 | IE Support complet 10 | Opera Support complet Oui | Safari Support complet 5.1 | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile Support complet Oui | Firefox Android Support complet Oui | Opera Android Support complet Oui | Safari iOS ? | Samsung Internet Android ? |
focusOffset | Chrome Support complet Oui | Edge Support complet Oui | Firefox Support complet Oui | IE ? | Opera Support complet Oui | Safari ? | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile Support complet Oui | Firefox Android Support complet Oui | Opera Android Support complet Oui | Safari iOS ? | Samsung Internet Android ? |
getRangeAt | Chrome Support complet Oui | Edge Support complet Oui | Firefox Support complet Oui | IE ? | Opera Support complet Oui | Safari ? | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile Support complet Oui | Firefox Android Support complet Oui | Opera Android Support complet Oui | Safari iOS ? | Samsung Internet Android ? |
isCollapsed | Chrome Support complet 1 | Edge Support complet Oui | Firefox Support complet Oui | IE ? | Opera Support complet Oui | Safari ? | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile Support complet Oui | Firefox Android Support complet Oui | Opera Android Support complet Oui | Safari iOS ? | Samsung Internet Android ? |
modify | Chrome Support complet Oui | Edge ? | Firefox Support complet 4 | IE ? | Opera Support complet Oui | Safari Support complet Oui | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile ? | Firefox Android Support complet 4 | Opera Android Support complet Oui | Safari iOS Support complet Oui | Samsung Internet Android ? |
rangeCount | Chrome Support complet Oui | Edge Support complet Oui | Firefox Support complet Oui | IE Support complet Oui | Opera Support complet Oui | Safari ? | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile Support complet Oui | Firefox Android Support complet Oui | Opera Android Support complet Oui | Safari iOS ? | Samsung Internet Android ? |
removeRange | Chrome Support complet 58 | Edge Support complet Oui | Firefox Support complet Oui | IE ? | Opera Support complet 45 | Safari Aucun support Non | WebView Android Support complet 58 | Chrome Android Support complet 58 | Edge Mobile Support complet Oui | Firefox Android Support complet Oui | Opera Android Support complet 45 | Safari iOS Aucun support Non | Samsung Internet Android ? |
removeAllRanges | Chrome Support complet Oui | Edge Support complet Oui | Firefox Support complet Oui | IE Support complet Oui | Opera Support complet Oui | Safari Support complet Oui | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile Support complet Oui | Firefox Android Support complet Oui | Opera Android Support complet Oui | Safari iOS Support complet Oui | Samsung Internet Android ? |
selectAllChildren | Chrome Support complet Oui | Edge Support complet Oui | Firefox Support complet Oui | IE Support complet Oui | Opera Support complet Oui | Safari Support complet Oui | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile Support complet Oui | Firefox Android Support complet Oui | Opera Android Support complet Oui | Safari iOS Support complet Oui | Samsung Internet Android ? |
setBaseAndExtent | Chrome Support complet Oui | Edge ? | Firefox Support complet 53 | IE ? | Opera Support complet Oui | Safari ? | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile ? | Firefox Android Support complet 53 | Opera Android Support complet Oui | Safari iOS ? | Samsung Internet Android ? |
setPosition() as alias of collapse() | Chrome Support complet Oui | Edge ? | Firefox Support complet 55 | IE ? | Opera Support complet Oui | Safari Support complet Oui | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile ? | Firefox Android Support complet 55 | Opera Android Support complet Oui | Safari iOS Support complet Oui | Samsung Internet Android ? |
toString | Chrome Support complet 1 | Edge Support complet Oui | Firefox Support complet Oui | IE ? | Opera Support complet Oui | Safari ? | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile Support complet Oui | Firefox Android Support complet Oui | Opera Android Support complet Oui | Safari iOS ? | Samsung Internet Android ? |
type | Chrome Support complet Oui | Edge Support complet Oui | Firefox Support complet 57 | IE Support complet Oui | Opera Support complet Oui | Safari ? | WebView Android Support complet Oui | Chrome Android Support complet Oui | Edge Mobile Support complet Oui | Firefox Android Support complet 57 | Opera Android Support complet Oui | Safari iOS ? | Samsung Internet Android ? |
Légende
- Support complet
- Support complet
- Aucun support
- Aucun support
- Compatibilité inconnue
- Compatibilité inconnue
- Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
- Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
- Fonctionnalité non-standard. Celle-ci peut être incorrectement supportée par les autres navigateurs.
- Fonctionnalité non-standard. Celle-ci peut être incorrectement supportée par les autres navigateurs.
- Voir les notes d'implémentation.
- Voir les notes d'implémentation.
Voir aussi
window.getSelection, document.getSelection()
,Range
Liens externes