【问题标题】:Monitoring mouse coordinates while mouse button is pressed按下鼠标按钮时监视鼠标坐标
【发布时间】:2012-03-14 22:16:17
【问题描述】:

在 JS 中是否有办法在您移动鼠标并按住鼠标按钮时跟踪 pageX 和 pageY 的变化?

原始 HTML DOM 事件对象具有 button 属性,但如果我尝试在 mousemove 上监视它,它总是返回零(与 ctrlKey、shiftKey 等不同,它会反映变化)。

我试过jQuery Mousehold plugin,它等待mousedown,设置间隔,一遍又一遍地调用自己,并在mouseup或mouseout上清除间隔。当您只需要抓住鼠标时,这很好,无论在按住按钮时选择器内的坐标如何。但是我需要一些东西来在鼠标按住期间捕获值。

【问题讨论】:

    标签: javascript mouse mouseevent mousemove


    【解决方案1】:

    您可以在mousedown 上设置一些标志变量,并在mouseup 中取消设置。
    在mousemove 处理程序中简单地检查这个变量。

    【讨论】:

      【解决方案2】:

      您可以尝试在body 上使用mousemove 事件,而不是您最初单击的元素。在您的mousedown 处理程序中,设置一些全局变量来指定哪个元素处于活动状态,并设置一个全局布尔值来指示拖动。还要在body 上设置您的mouseup 处理程序。但是请记住,如果这些事件由页面上的其他元素处理并且它们停止冒泡,则此方法将失败。

      【讨论】:

      • 谢谢,就我而言,没有其他处理程序。它用于 html5 画布绘图,因此方法太耗费资源,无法在页面上提供任何其他内容:)
      猜你喜欢
      • 2021-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-05
      相关资源
      最近更新 更多