Как добавить пользовательский прослушиватель событий и получить все элементы, которые его применяют? - PullRequest
2 голосов
/ 10 января 2020

Мне нужен мой собственный слушатель событий. На данный момент у меня есть следующий код (просто оболочка для события прокрутки без функциональности пока ...):

function onScrollStopped(element, callback, timeout = 48) {
  element.addEventListener("scroll", (e) => {
    callback();
  });
}

В настоящее время я регистрирую свое 'событие' со следующим:

onScrollStop(element, () => {
  alert("hi");
});

Но я бы хотел зарегистрировать это следующим образом:

element.addEventListener("scrollstop", () => {
  alert("hi");
});

Я начал писать даже со следующим кодом:

const event = new Event("scrollstop", { bubbles: true});

<element??>.addEventListener("scroll", (e) => {
  <element??>.dispatchEvent(event);
});

Теперь, как я узнаю, что заполните в части с <element??>. Я хочу иметь возможность зарегистрировать это событие для каждого dom-узла, а не только для окна, документа или тела ... Как бы я это сделал?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...