--- title: Selection API slug: Web/API/Selection_API translation_of: Web/API/Selection_API ---

{{APIRef}}

L’API Selection fournit des fonctionnalités pour lire et manipuler les plages (en anglais : ranges) de texte sélectionnées par l’utilisatrice ou l’utilisateur.

Concepts et utilisation

Pour obtenir la plage de texte actuellement sélectionnée par l’utilisatrice ou l’utilisateur, vous pouvez utiliser la méthode {{domxref("Window.getSelection()")}} ou {{domxref("Document.getSelection()")}}, et stocker la valeur de retour – un objet {{domxref("Selection")}} – dans une variable pour une utilisation ultérieure.

Une fois que votre sélection est dans une variable, vous pouvez effectuer différentes opérations dessus, par exemple :

Vous pouvez exécuter du code en réponse à un changement de sélection, ou au commencement d’une nouvelle sélection, en utilisant les gestionnaires d’évènements {{domxref("GlobalEventHandlers.onselectionchange")}} et {{domxref("GlobalEventHandlers.onselectstart")}}.

Interfaces de l’API Selection

{{domxref("Selection")}}
Représente la plage de texte sélectionnée ou la position actuelle du curseur.

Extensions à d’autres interfaces

{{domxref("Window.getSelection()")}}, {{domxref("Document.getSelection()")}}
Retourne un objet {{domxref("Selection")}} représentant la plage de texte sélectionnée ou la position actuelle du curseur. Document.getSelection() est en quelques sortes un alias de Window.getSelection().
{{domxref("GlobalEventHandlers.onselectstart")}}
Représente le gestionnaire d’évènement qui est appelé quand un évènement {{event("selectstart")}} est émis sur l’objet concerné (c’est-à-dire quand une nouvelle plage de texte est sur le point d’être sélectionnée).
{{domxref("GlobalEventHandlers.onselectionchange")}}
Représente le gestionnaire d’évènement qui est appelé quand un évènement {{event("selectionchange")}} est émis sur l’objet concerné (c’est-à-dire quand la plage de texte sélectionné change).

Spécifications

Spécification Statut Commentaire
{{SpecName('Selection API', '#definition', 'Selection')}} {{Spec2('Selection API')}} La spécification de l’API Selection est basée sur la spécification de l’API Édition HTML et se concentre sur les fonctionnalités liées à la sélection.
{{SpecName('HTML Editing', '#selection', 'Selection')}} {{Spec2('HTML Editing')}} Définition initiale (plus ancienne), à présent obsolète.

Compatibilité des navigateurs

{{CompatibilityTable}}
Fonctionnalité Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support de base {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown()}}
{{CompatGeckoDesktop(52)}}[1]
9 {{CompatVersionUnknown}} {{CompatVersionUnknown}}
modify() {{CompatVersionUnknown}} {{CompatUnknown}} {{CompatGeckoDesktop(2)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatVersionUnknown}}
setBaseAndExtent() {{CompatUnknown}} {{CompatUnknown}} {{CompatGeckoDesktop(53)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
deleteFromDocument() {{CompatUnknown}} {{CompatVersionUnknown}} {{CompatGeckoDesktop(55)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
empty() comme alias de removeAllRanges() {{CompatVersionUnknown}} {{CompatUnknown}} {{CompatGeckoDesktop(55)}} {{CompatUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}
setPosition() comme alias de collapse() {{CompatVersionUnknown}} {{CompatUnknown}} {{CompatGeckoDesktop(55)}} {{CompatUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}
Fonctionnalité Android Edge Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Support de base {{CompatUnknown}} {{CompatVersionUnknown}}

{{CompatVersionUnknown()}}
{{CompatGeckoMobile(52)}}[1]

{{CompatUnknown}} {{CompatUnknown}} {{CompatVersionUnknown}}
modify() {{CompatUnknown}} {{CompatUnknown}} {{CompatGeckoMobile(2)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatVersionUnknown}}
setBaseAndExtent() {{CompatUnknown}} {{CompatUnknown}} {{CompatGeckoMobile(53)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
deleteFromDocument() {{CompatUnknown}} {{CompatVersionUnknown}} {{CompatGeckoMobile(55)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
empty() comme alias de removeAllRanges() {{CompatUnknown}} {{CompatUnknown}} {{CompatGeckoMobile(55)}} {{CompatUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}
setPosition() comme alias de collapse() {{CompatUnknown}} {{CompatUnknown}} {{CompatGeckoMobile(55)}} {{CompatUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}

[1] Les gestionnaires d’évènements {{domxref("GlobalEventHandlers.onselectionchange")}} et {{domxref("GlobalEventHandlers.onselectstart")}} sont supportés à partir de Firefox 52.

Voir aussi