2012-03-14 155 views
0

当您移动鼠标并按住鼠标按钮时,JS中是否有方法跟踪更改pageXpageY按下鼠标按钮时监视鼠标坐标

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

我试过jQuery Mousehold plugin,它等待mousedown,设置时间间隔,反复调用本身并清除mouseup的间隔或mouseout。无论按住按钮时选择器内部的坐标,只需捕捉鼠标按钮即可。但我需要一些东西来捕捉鼠标中的值。

回答

1

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

+0

就是这样,谢谢。 – cincplug 2012-03-14 14:58:32

1

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

+0

谢谢,在我的情况下,没有其他处理程序。这是为html5画布绘制,所以方法是太资源饥渴,在页面上提供其他任何东西:) – cincplug 2012-03-14 15:00:40