Javascript scrollIntoView不会以角度触发鼠标滚轮或滚动事件
我使用角度和注册的Javascript scrollIntoView不会以角度触发鼠标滚轮或滚动事件,javascript,angular,events,event-handling,Javascript,Angular,Events,Event Handling,我使用角度和注册的鼠标滚轮和滚动事件。当我使用scrollIntoView时,不会触发此事件。还有什么我错过的活动吗 @HostListener('mousewheel', ['$event']) mousewheel(event: MouseEvent) { console.log("mousewheel"); } @HostListener('scroll', ['$event']) scroll(event: MouseEvent) {
鼠标滚轮
和滚动
事件。当我使用scrollIntoView
时,不会触发此事件。还有什么我错过的活动吗
@HostListener('mousewheel', ['$event'])
mousewheel(event: MouseEvent) {
console.log("mousewheel");
}
@HostListener('scroll', ['$event'])
scroll(event: MouseEvent) {
console.log("scroll");
}
我使用的函数如下所示:
element.scrollIntoView({behavior: 'smooth'});
有人知道我错过了什么吗?您可以随时使用addEventListener添加滚动功能。此外,别忘了在Ngondestory中删除它,下面是一个示例:
export class WindowScrollDirective implements OnInit, OnDestroy{
ngOnInit() {
window.addEventListener('scroll', this.handleScroll, true);
}
ngOnDestroy() {
window.removeEventListener('scroll', this.handleScroll, true);
}
handleScroll = (event): void => {
//handle your scroll here
};
}
注意:您可以用要用于滚动的元素替换窗口对象。非常感谢!我试试看。所以我需要注册这两个事件<代码>鼠标滚轮和
滚动
?不客气。如果这有帮助,请不要忘记接受这一正确答案:)。Thanks@DanielStephens你不需要再使用鼠标滚轮了。只需将滚动事件添加到元素中,您就会表现良好。