2012-06-20 80 views
0

我將鼠標移動到div上,我想知道鼠標相對於div原點的座標。 (左上角)DIV中的相對鼠標座標 - javascript

我期望mousemove事件包含鼠標的相對(客戶端?)座標,但顯然它沒有。

在Firefox中,例如,沒有事件屬性的*含有相對座標

我缺少的東西?

* clientX,Y - pageX屬性,Y - screenX,Y

回答

0

您不會錯過任何東西,但你需要計算相對座標自己。

東西沿着這些線路應該這樣做(與您要使用獲得的位置W/E代碼替代的jQuery):

var pos = $('div').position(); 
var relX = event.pageX - pos.left; 
var relY = event.pageY - pos.top; 

另請參閱:JS: mouse coordinates relative to an element覆蓋一些細節上支持其他瀏覽器(儘管如果你使用的jquery可能不需要)。

+0

謝謝!我會嘗試的。我仍然很好奇。我是否認爲'客戶'座標應該是相對於產生事件的元素? –

+1

@johnsmith https://developer.mozilla.org/en/DOM/MouseEvent,特別是http://www.w3.org/TR/DOM-Level-3-Events/#events-MouseEvent-clientX – Phrogz

+0

Phrogz,謝謝。那麼,似乎標準並沒有做我想做的事情= P –