Window : méthode getSelection()
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 getSelection() de l'interface Window retourne l'objet Selection associé au document de la fenêtre, représentant la plage de texte sélectionnée par l'utilisateur·ice ou la position actuelle du curseur.
Syntaxe
getSelection()
Paramètres
Aucun.
Valeur de retour
Un objet Selection, ou null si le document associé n'a pas de contexte de navigation (par exemple, si la fenêtre est un <iframe> qui n'est pas attaché à un document).
Lorsque cette méthode est appelée sur un <iframe> qui n'est pas affiché (par exemple, lorsque display: none est défini), Firefox renvoie null, tandis que les autres navigateurs retournent un objet Selection avec Selection.type défini sur None.
Exemples
function toto() {
const selObj = window.getSelection();
alert(selObj);
const selRange = selObj.getRangeAt(0);
// travailler avec la sélection
}
Notes
>Représentation sous forme de chaîne de caractères de l'objet Selection
En JavaScript, lorsqu'un objet est passé à une fonction qui attend une chaîne de caractères (comme window.alert() ou document.write()), la méthode toString() de l'objet est appelée et la valeur retournée est passée à la fonction.
Cela peut donner l'impression que l'objet est une chaîne de caractères lorsqu'il est utilisé avec d'autres fonctions alors qu'il s'agit en réalité d'un objet avec des propriétés et des méthodes.
Dans l'exemple ci-dessus, selObj.toString() est automatiquement appelé lorsqu'il est passé à window.alert(). Cependant, tenter d'utiliser une propriété ou une méthode JavaScript String telle que length ou substr directement sur un objet Selection entraînera une erreur s'il ne possède pas cette propriété ou méthode et peut retourner des résultats inattendus s'il la possède. Pour utiliser un objet Selection comme une chaîne de caractères, appelez directement sa méthode toString() :
const selectedText = selObj.toString();
selObjest un objetSelection.selectedTextest une chaîne de caractères (texte sélectionné).
Objets associés
Vous pouvez appeler Document.getSelection(), qui fonctionne de manière identique à Window.getSelection().
Il convient de noter qu'actuellement getSelection() ne fonctionne pas sur le contenu des éléments HTML <textarea> et <input> dans Firefox et Edge (Legacy). HTMLInputElement.setSelectionRange() ou les propriétés selectionStart et selectionEnd peuvent être utilisées pour contourner ce problème.
Remarquez également la différence entre sélection textuelle (selection en anglais) et la sélection active (focus en anglais).
Document.activeElement retourne l'élément sélectionné.
Spécifications
| Specification |
|---|
| Selection API> # dom-window-getselection> |
Compatibilité des navigateurs
Voir aussi
- L'API Selection
- L'interface
Selection - L'interface
Range - La méthode
Document.getSelection() - La méthode
HTMLInputElement.setSelectionRange()