2012-03-14 156 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