JavaScript Selection.anchorNode — де почалося виділення
Властивість anchorNode повертає вузол, у якому користувач почав виділення.
Загальний опис
Це не те саме, що початок діапазону. Якщо виділяти знизу вгору, якір опиниться після фокуса — тобто в документі він буде правіше.
Range завжди нормалізований (початок раніше за кінець), а Selection пам'ятає напрямок, у якому тягнули мишу. Саме тому в нього є окремі anchorNode і focusNode.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| 1 | 1 | 1.3 | ≤12.1 | 12 | 9 |
| Переглядач | ||||
|---|---|---|---|---|
| 4.4 | 18 | 4 | 1 |
Приклади
+ запропонувати свій приклад у пісочниці
Визначити напрямок виділення.
const selection = window.getSelection();
const backwards = selection.anchorNode === selection.focusNode
? selection.anchorOffset > selection.focusOffset
: selection.anchorNode.compareDocumentPosition(selection.focusNode)
=== Node.DOCUMENT_POSITION_PRECEDING;
console.log(backwards ? 'виділяли знизу вгору' : 'згори вниз');
Коментарі
Коментарів ще немає — будьте першим!