拖动元素时是否禁用 mousemove 事件?

Ale*_*gli 7 drag-and-drop angular

我试图通过在拖动元素时观察文档上的 mousemove 事件来移动元素(使用 html5 拖放)。我在父元素上的文档上添加了一个 mousemove 侦听器,每当我移动鼠标时就会触发该侦听器,但是一旦我开始拖动另一个子元素,我就不再看到 mousemove 事件,一旦我停止拖动,我就会再次看到这些事件。我在 API ( https://developer.mozilla.org/en-US/docs/Web/Events/mousemove ) 的任何地方都没有看到它拖动禁用了这些事件,但我不知道如何停止他们来自我的代码。这只是 html5 拖放的一部分,它在拖动时禁用 mousemove 事件吗?

我正在使用 angular2 来检测鼠标移动。我尝试了两种不同的方法:

1)

@HostListener('document:mousemove', ['$event'])
    onMouseMove(event) {
        console.log('Global mousemove: ', event);
    }
Run Code Online (Sandbox Code Playgroud)

2)

constructor(
      public element: ElementRef,
      private renderer: Renderer2) {
        element.nativeElement.draggable = true;
      }
this.mouseMoveListener = this.renderer.listen('document', 'mousemove', this.onMouseMove.bind(this));
Run Code Online (Sandbox Code Playgroud)

Ale*_*nov 4

这里开始:“当指针设备(通常是鼠标)在元素上移动时,将触发 mousemove 事件。” 当您拖动元素时,鼠标不会在其上移动- 相反,它会与元素同步移动。我认为您应该为此目的考虑“ondrag”事件 -请参阅此处