日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

鼠标位置精确定位总结

發(fā)布時間:2025/6/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 鼠标位置精确定位总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

鼠標位置

序號鼠標位置屬性屬性描述瀏覽器支持情況備注IEChromeSafari?FirefoxOpera
1event.x以瀏覽器窗口可見部分的左上角為坐標原點(不含滾動條)√?X?
2event.y以瀏覽器窗口可見部分的左上角為坐標原點(不含滾動條)√?X?
3event.clientX以瀏覽器窗口可見部分的左上角為坐標原點(不含滾動條)√??
4event.clientY以瀏覽器窗口可見部分的左上角為坐標原點(不含滾動條)√??
5offsetX以當前元素的左上角為坐標原點XIE和Opera中不含邊框,Netscape中含邊框
6offsetY以當前元素的左上角為坐標原點XIE和Opera中不含邊框,Netscape中含邊框
7screenX以屏幕的左上角為坐標原點√??
8screenY以屏幕的左上角為坐標原點√??
9pageX以瀏覽器窗口的左上角為坐標原點(固有左上角含滾動條)X√??
10pageY以瀏覽器窗口的左上角為坐標原點(固有左上角含滾動條)X√??
11layerX以當前元素的左上角為坐標原點(含邊框)X√?X建議放棄此屬性,Netscape支持混亂
12layerY以當前元素的左上角為坐標原點(含邊框)X√?X建議放棄此屬性,Netscape支持混亂




















?

  需要說明的是,現(xiàn)在除了Firefox外各大瀏覽器已經(jīng)全都支持offsetX和offsetY屬性,只是不同到瀏覽器之間存在細微的差別,如IE和Opera瀏覽器中,此屬性不包含邊框(即以當前元素內部的左上角為坐標原點)。而Netscape瀏覽器中,此屬性卻包含邊框(即以當前元素外部的左上角為坐標原點)。

  Chrome和Safari瀏覽器對layerX和layerY屬性的支持相當?shù)幕靵y(例如:如果當前元素中還存在子元素,那么鼠標移動到子元素上,layerX顯示的是子元素的X坐標,而layerY顯示到卻是父元素的Y坐標),所以建議放棄此屬性。在Firefox中,此屬性不支持嵌套(即<div><span></span></div>當鼠標移到<span>標簽上時,此屬性只顯示鼠標在外層標簽<div>中的坐標,而不是在<span>中的坐標。

  對于pageX和pageY由于IE不支持此屬性,那么可由如下方法實現(xiàn)跨瀏覽器實現(xiàn)pageX和pageY:

1 function pointerX() { 2 return event.pageX || (event.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)); 3 } 4 5 function pointerY() { 6 return event.pageY || (event.clientY + (document.documentElement.scrollTop || document.body.scrollTop)); 7 }

  口說無憑,自己動手,豐衣足食,以下代碼自己到各大瀏覽器中運行下就知曉差別

1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 5 <title>顯示鼠標坐標</title> 6 <style> 7 * { 8 margin: 0 9 } 10 11 #d1 { 12 position: absolute; 13 left: 50px; 14 top: 50px; 15 border: 1px blue solid; 16 } 17 </style> 18 <SCRIPT> 19 function dullwolf(event) { 20 21 if(navigator.appName=="Microsoft Internet Explorer"){ 22 var evt = window.event; 23 document.getElementById("p1").innerText = evt.x; 24 document.getElementById("p2").innerText = evt.y; 25 document.getElementById("p3").innerText = evt.clientX; 26 document.getElementById("p4").innerText = evt.clientY; 27 document.getElementById("p5").innerText = evt.offsetX; 28 document.getElementById("p6").innerText = evt.offsetY; 29 document.getElementById("p7").innerText = evt.screenX; 30 document.getElementById("p8").innerText = evt.screenY; 31 document.getElementById("p9").innerText = evt.layerX; 32 document.getElementById("p10").innerText = evt.layerY; 33 document.getElementById("p11").innerText = evt.pageX; 34 document.getElementById("p12").innerText = evt.pageY; 35 } 36 else{ 37 var evt = event; 38 document.getElementById("p1").textContent = evt.x; 39 document.getElementById("p2").textContent = evt.y; 40 document.getElementById("p3").textContent = evt.clientX; 41 document.getElementById("p4").textContent = evt.clientY; 42 document.getElementById("p5").textContent = evt.offsetX; 43 document.getElementById("p6").textContent = evt.offsetY; 44 document.getElementById("p7").textContent = evt.screenX; 45 document.getElementById("p8").textContent = evt.screenY; 46 document.getElementById("p9").textContent = evt.pageX; 47 document.getElementById("p10").textContent = evt.pageY; 48 document.getElementById("p11").textContent = evt.layerX; 49 document.getElementById("p12").textContent = evt.layerY; 50 } 51 } 52 document.onmousemove=dullwolf; 53 </SCRIPT> 54 </head> 55 <body> 56 <body> 57 <div id="d1">event.x=<span id="p1"> </span>; event.y=<span id="p2"></span>;<br /> 58 <br /> 59 clientX=<span id="p3"> </span> ; clientY=<span id="p4"> </span> ; <br /> 60 <br /> 61 offsetX=<span id="p5"> </span> ; offsetY=<span id="p6"> </span> ;<br /> 62 <br /> 63 screenX=<span id="p7"> </span> ; screenY=<span id="p8"> </span>;<br /> 64 <br /> 65 pageX=<span id="p9"> </span> ; pageY=<span id="p10"> </span>;<br /> 66 <br /> 67 layerX=<span id="p11"> </span> ; layerY=<span id="p12"> </span>;<br /> 68 <br /> 69 <p style="border:1px green solid;">子元素</p> 70 <p style="border:1px green solid;">子元素</p> 71 </div> 72 </body> 73 </html>

以下是運行結果,截圖時鼠標位于"子元素"區(qū)域

IE運行結果:

Chrome運行結果:

Firefox運行結果:

Opera運行結果:

Safari運行結果

轉載于:https://www.cnblogs.com/pinsige/p/3942182.html

總結

以上是生活随笔為你收集整理的鼠标位置精确定位总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。