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你不需要再使用鼠标滚轮了。只需将滚动事件添加到元素中,您就会表现良好。