function getMousePoint(ev) { // 定義鼠標在視窗中的位置 var point = { x:0, y:0 }; // 若是瀏覽器支持 pageYOffset, 經過 pageXOffset 和 pageYOffset 獲取頁面和視窗之間的距離 if(typeof window.pageYOffset != 'undefined') { point.x = window.pageXOffset; point.y = window.pageYOffset; } // 若是瀏覽器支持 compatMode, 而且指定了 DOCTYPE, 經過 documentElement 獲取滾動距離做爲頁面和視窗間的距離 // IE 中, 當頁面指定 DOCTYPE, compatMode 的值是 CSS1Compat, 不然 compatMode 的值是 BackCompat else if(typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') { point.x = document.documentElement.scrollLeft; point.y = document.documentElement.scrollTop; } // 若是瀏覽器支持 document.body, 能夠經過 document.body 來獲取滾動高度 else if(typeof document.body != 'undefined') { point.x = document.body.scrollLeft; point.y = document.body.scrollTop; } // 加上鼠標在視窗中的位置 point.x += ev.clientX; point.y += ev.clientY; // 返回鼠標在視窗中的位置 return point; }