Как предотвратить событие прокрутки?
Я пытался добавить event.preventDefault()
в HostListener, но это не работает. event.stopPropagation()
и event.stopImmediatePropagation()
тоже не работают.
Мне нужно реализовать некоторую логику вместо прокрутки.
@HostListener('window:scroll', ['$event'])
onScroll(event) {
event.preventDefault();
console.info('Hello World');
}
@RadekF Спасибо! Это работает. Добавьте свой ответ
Пожалуйста, отредактируйте вопрос, чтобы было ясно, что вы хотите перехватить прокрутку колесиком мыши (не используя полосу прокрутки).
@ConnorsFan На самом деле я хочу перехватить событие прокрутки. Не имеет значения колесо или полоса прокрутки. Если вы знаете, как предотвратить оба триггера, дайте мне знать, пожалуйста.
Вы можете использовать трюк, указанный в этот ответ: сбросить положение прокрутки в обработчике событий. См. этот стекблиц для демонстрации.
А вот еще один стекблиц показывает, как разрешить/запретить прокрутку.
Попробуйте использовать 'wheel'
вместо 'window:scroll'
попробуйте использовать
'wheel'
вместо'window:scroll'