Javascript Mousemove事件在window.resize事件之后未注册

Javascript Mousemove事件在window.resize事件之后未注册,javascript,google-chrome,events,Javascript,Google Chrome,Events,无论出于何种原因,在Chrome中,mousedown事件之后立即发生的mousemove事件在mousedown事件之后的一小段时间内(500-1000ms?)不会触发或完全忽略 奇怪的是,这个问题在codepen(也在Chrome上)上是不存在的,代码是完全相同的…Firefox、Edge等也没有问题,只是在Chrome上 自己测试一下。 将此代码复制并粘贴到实际的.html、.css和.js文件中,然后直接在浏览器中运行,您会注意到paper.onmousemove不会在窗口后立即启动或注

无论出于何种原因,在Chrome中,
mousedown
事件之后立即发生的
mousemove
事件在
mousedown
事件之后的一小段时间内(500-1000ms?)不会触发或完全忽略

奇怪的是,这个问题在codepen(也在Chrome上)上是不存在的,代码是完全相同的…Firefox、Edge等也没有问题,只是在Chrome上

自己测试一下。

将此代码复制并粘贴到实际的.html、.css和.js文件中,然后直接在浏览器中运行,您会注意到
paper.onmousemove
不会在
窗口后立即启动或注册。在很短的时间内调整
事件的大小

这一切都毫无意义

有人知道发生了什么吗为什么它可以在codepen(和其他浏览器)中正常工作,但不能直接在浏览器中工作

我发现codepen版本有一个问题,它产生了一个非常类似的bug(但在开始时需要额外的几个步骤)

  • 通过在白色区域上拖动鼠标来创建元素
  • 通过单击该图元来选择该图元
  • 将该元素拖到页面上的任意位置
  • 调整浏览器大小,并立即尝试通过拖动创建另一个元素
  • 但是,在这种情况下,在codepen上,
    mousedown
    不会触发,而直接在浏览器中查看时,
    mousemove
    不会触发。再一次,有一个差异,这难以置信的奇怪

    更新
    事实证明,这种情况只有在开发人员控制台打开时才会发生,这就是为什么它没有在codepen中发生。

    这似乎是Chrome开发工具的一个奇怪之处。您描述的bug似乎只有在DevTools打开时才会出现。当您关闭DevTools时,它会消失。这可能只是一个奇怪的巧合,但当右上角的分辨率标签消失时,它会立即注销
    mousemove
    事件

    这就是说,你有一个组合
    onmousemove
    addEventListener
    正在进行。例如,你两者都有

    paper.addEventListener('mouseup',checkMouseUp)

    paper.onmouseup=函数(事件){}


    我不确定这是否是DevTools问题的原因,但这可能会导致意外后果,因为
    paper
    现在有两个单独分配的
    mouseup
    功能。在您的情况下,我会坚持使用
    addEventListener

    请提供一个复制问题的代码。据我所知,在Chrome和“native”JS上运行的代码笔是完全相同的东西。@charlietfl无法提供MCV,因为问题出在我的代码上。我会发布一个代码笔,但问题不会发生在代码笔中,只有在浏览器中直接查看页面时才会发生。很明显,存在问题的版本与其他版本之间存在差异。我们猜不出会发生什么,我只能在Chrome开发工具打开时复制这个bug。当我关闭开发工具时,它立即消失。打开开发工具后,当右上角的分辨率标签消失时,它立即开始记录鼠标动画。是的,我知道我有多个监听器用于同一事件。我这样做是为了区分不同目的的代码。我打算把它清理干净,并进一步隔离。奇怪的是,这在任何其他浏览器中都不会发生:/I我也遇到过类似于OP的症状,我只有事件监听器(即,没有类似于
    onmouseup
    )。因此,开发工具中肯定存在一个bug。