【问题标题】:Angular EventListener for mousemove event only fires on CLICK, but not on MOVEmousemove 事件的 Angular EventListener 仅在 CLICK 时触发,而不是在 MOVE 时触发
【发布时间】:2021-12-27 19:14:58
【问题描述】:

每当我将鼠标移到我的网站上时,我都想退出当前光标位置。

这是stackblitz。尝试运行该网站,然后单击屏幕,它将产生一个日志。但不是当你只是移动鼠标时。

这就是我开始聆听鼠标移动的方式:

@HostListener('document:mousemove', ['$event']) documentClickEvent($event: MouseEvent) {
  console.log('Through HostListener - MouseMove Event Details: ', $event)
}

【问题讨论】:

  • 好的,我刚刚在火狐浏览器中试了一下,就可以了。这似乎只是我的 Chrome 和 Brave 浏览器的问题。可能是控制台设置不正确?

标签: angular mousemove


【解决方案1】:

您链接的 stackblitz 显示了这一点:

@HostListener('document:click', ['$event']) documentClickEvent($event: MouseEvent) {
    console.log('Through HostListener - Click Event Details: ', $event)
}

HostListener 正在监听点击事件,因此您的日志记录只会通过点击屏幕触发。

我复制了您在帖子中的代码 sn-p(以便 HostListener 正在监听 document:mousemove),并按预期触发了移动鼠标的日志记录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多