JavaScript IntersectionObserver.disconnect() — зупинити спостерігач


Метод disconnect() припиняє спостереження за всіма елементами одразу.

автор: NagarD

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

Різниця з unobserve() — у масштабі: той знімає один елемент, цей вимикає спостерігач цілком.

Місце виклику одне — знищення компонента. Пішли зі сторінки, закрили модальне вікно, розібрали віджет — спостерігач треба вимкнути, інакше він триматиме посилання на елементи, і вони не звільнять пам'ять.

Після disconnect() спостерігач можна використати знову: просто покликати observe() ще раз.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
disconnect 51+ 55+ 12.1+ 38+ 15+ -
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
disconnect 51+ yes yes 12.2+

Приклади

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

Прибирання за собою при знищенні компонента.

class Feed {
    constructor() {
        this.observer = new IntersectionObserver(this.onScroll);
        this.observer.observe(this.sentinel);
    }

    destroy() {
        // без цього елементи не звільнять пам'ять
        this.observer.disconnect();
    }
}
автор: NagarD

Коментарі

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

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

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

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

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

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

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

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

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

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

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