2010-07-27 58 views
14

與Javascript中鼠標的工作,我偶爾會遇到以下事件屬性:鼠標位置 - 跨瀏覽器的兼容性 - 使用Javascript

  • clientX,clientY
  • layerX,layerY
  • OFFSETX ,OFFSETY
  • pageX屬性,pageY
  • screenX,screenY
  • X,Y

我想知道什麼他們跨瀏覽器兼容的樣子一般,因爲我只找到信息的點點滴滴,我很試圖修補在一起。

謝謝你們

回答

10

這裏是jQuery的是如何做的:

// Calculate pageX/Y if missing and clientX/Y available 
if (event.pageX == null && event.clientX != null) { 
    var doc = document.documentElement, body = document.body; 
    event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); 
    event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); 
} 

測試pageX屬性(或pageY),或從clientX和scrollLeft答clientLeft計算它

+0

感謝不是我一直在尋找的答案,但可惜...非常有用!謝謝! =) – RadiantHex 2010-07-27 12:53:17