Szukaj…
Składnia
- Selection sel = window.getSelection ();
- Selection sel = document.getSelection (); // równoważne z powyższym
- Zakres zakresu = document.createRange ();
- range.setStart (startNode, startOffset);
- range.setEnd (endNode, endOffset);
Parametry
Parametr | Detale |
---|---|
startOffset | Jeśli węzeł jest węzłem tekstowym, jest to liczba znaków od początku startNode do początku zakresu. W przeciwnym razie jest to liczba węzłów potomnych między początkiem węzła startNode a początkiem zakresu. |
endOffset | Jeśli węzeł jest węzłem tekstowym, jest to liczba znaków od początku startNode do miejsca, w którym kończy się zakres. W przeciwnym razie jest to liczba węzłów potomnych między początkiem węzła startNode a końcem zakresu. |
Uwagi
Interfejs API wyboru pozwala wyświetlać i zmieniać elementy i tekst, które są zaznaczone (podświetlone) w dokumencie.
Jest zaimplementowany jako pojedyncza instancja klasy Selection
która dotyczy dokumentu, i zawiera kolekcję obiektów Range
, z których każdy reprezentuje jeden ciągły wybrany obszar.
Praktycznie rzecz biorąc, żadna przeglądarka oprócz Mozilla Firefox nie obsługuje wielu zakresów wybranych elementów, a specyfikacja nie zachęca do tego. Ponadto większość użytkowników nie zna koncepcji wielu zakresów. W związku z tym programista może zwykle dotyczyć tylko jednego zakresu.
Odznacz wszystko, co jest zaznaczone
let sel = document.getSelection();
sel.removeAllRanges();
Wybierz zawartość elementu
let sel = document.getSelection();
let myNode = document.getElementById('element-to-select');
let range = document.createRange();
range.selectNodeContents(myNode);
sel.addRange(range);
Konieczne może być najpierw usunięcie wszystkich zakresów poprzedniego wyboru, ponieważ większość przeglądarek nie obsługuje wielu zakresów.
Uzyskaj tekst zaznaczenia
let sel = document.getSelection();
let text = sel.toString();
console.log(text); // logs what the user selected
Alternatywnie, ponieważ funkcja członka toString
jest wywoływana automatycznie przez niektóre funkcje podczas konwertowania obiektu na ciąg, nie zawsze trzeba go wywoływać samodzielnie.
console.log(document.getSelection());