Как добавить слушателя для всех событий прокрутки?
Мне нужно добавить слушателя для всех событий прокрутки в Reason React или всех эффектов прокрутки, влияющих на главное окно (либо сработает).
Пробуем, но событие не запускается:
open Webapi.Dom;
Document.addEventListener("scroll", onScroll);
PS Также есть упоминание, что addEventListener
является частичным приложением, поэтому меня беспокоит, что это потенциально функция с тремя аргументами, ожидающая целевой объект, а не функция для всего окна.
1 ответ
Ваше подозрение, что это функция с тремя аргументами, верно. Он ожидает ссылки на документ, к которому должен прикрепить слушателя событий. Документ, который в настоящее время находится в области применения, легко доступен черезWebapi.Dom.document
, поэтому вам нужно только добавить это:
Document.addEventListener("scroll", onScroll, document);
Это соглашение используется везде в bs-webapi. Функции не жестко привязаны к документу или окну, находящимся в настоящее время в области видимости, потому что они не единственные, которые вы можете использовать, даже если они обычно те, которые вы хотите использовать.