Есть ли способ вызвать событие hashchange, даже если ha sh одинаково? - PullRequest
0 голосов
/ 16 марта 2020

У меня есть прослушиватель событий, подобный этому:

window.addEventListener('hashchange', () => setTimeout(() => this.handleHashChange(), 0));

Затем в этой функции handleHashChange у меня есть несколько логик c для прокрутки к элементу на странице. Принимая во внимание пространство, которое нужно оставить для сворачивающегося / расширяющегося заголовка. Если я go до #team с #mission, это работает нормально. Проблема в том, когда я дважды нажимаю #team. Поскольку ha sh остается прежним, он не go в прослушивателе событий и возвращается к прокрутке браузера по умолчанию. Я тогда заканчиваю с моим заголовком сверху элемента, не оставляя достаточно места. Есть ли способ перезаписать это тоже?

Может быть jquery или ваниль JS

1 Ответ

0 голосов
/ 16 марта 2020

Если вы хотите форсировать событие hashchcange без буквального изменения ha sh, вам следует позвонить: window.dispatchEvent(new HashChangeEvent("hashchange"))

Смежный вопрос здесь

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