JavaScript Selection.rangeCount — кількість діапазонів виділення


Властивість rangeCount повертає кількість діапазонів у виділенні.

автор: NagarD

Загальний опис

Майже завжди це 0 (нічого не виділено) або 1. Кілька діапазонів уміє робити лише Firefox — з натиснутим Ctrl.

Практично ця властивість потрібна рівно для одного: перевірити перед getRangeAt(0), щоб не отримати помилку на порожньому виділенні.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
rangeCount 1+ 1+ 1+ 7+ 12+ 9+
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
rangeCount yes yes yes yes

Приклади

+ запропонувати свій приклад у пісочниці

Захист від IndexSizeError.

const selection = window.getSelection();

console.log(selection.rangeCount); // 0 або 1

if (selection.rangeCount > 0) {
    const range = selection.getRangeAt(0);
    console.log(range.toString());
}

// у Firefox із Ctrl може бути й більше
for (let i = 0; i < selection.rangeCount; i++) {
    console.log(selection.getRangeAt(i).toString());
}
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід