JS獲取鼠標(biāo)坐標(biāo)位置實(shí)例分析
本文實(shí)例分析了JS獲取鼠標(biāo)坐標(biāo)位置的方法。分享給大家供大家參考,具體如下:
取鼠標(biāo)坐標(biāo)位置有這些:鼠標(biāo)在視口的坐標(biāo)位置(clientX,clientY),鼠標(biāo)在頁(yè)面的坐標(biāo)位置(pageX,pageY),鼠標(biāo)在屏幕的坐標(biāo)位置(screenX,screenY),其中鼠標(biāo)在視口的坐標(biāo)位置(clientX,clientY),以及鼠標(biāo)在屏幕的坐標(biāo)位置(screenX,screenY)在所有的瀏覽器中都支持,但是鼠標(biāo)在頁(yè)面的坐標(biāo)位置(pageX,pageY)在IE8及更早版本不支持,但是沒有關(guān)系,可以通過scrollLeft 和 scrollTop可以計(jì)算出pageX,pageY的值。
首先是跨瀏覽器的事件對(duì)象
var EventUtil = {
addHandler:function(elem,type,handler){
if(elem.addEventListener)
{
elem.addEventListener(type,handler,false);
}else if(elem.attachEvent)
{
elem.attachEvent("on"+type,handler);
}else
{
elem["on"+type]=handler;
}
},
removeHandler:function(elem,type,handler){
if(elem.removeEventListener)
{
elem.removeEventListener(type,handler,false);
}else if(elem.detachEvent)
{
elem.detachEvent("on"+type,handler);
}else
{
elem["on"+type]=null;
}
},
getEvent:function(event){
return event?event:window.event;
},
getTarget:function(event){
return event.target||event.srcElement;
},
preventDefault:function(event){
if(event,preventDefault){
event.preventDefault();
}else{
event.returnValue = false;
}
},
stopPropagation:function(event){
if(event.stopPropagation){
event.stopPropagation();
}else{
event.cancelBubble=true;
}
}
};
1.視口坐標(biāo)位置
var div = document.getElementById("myDiv");
EventUtil.addHandler(div,"click",function(event){
event = EventUtil.getEvent(event);
alert("Client coordinages: "+event.clientX+","+event.clientY);
});
2.屏幕坐標(biāo)位置
var div = document.getElementById("myDiv");
EventUtil.addHandler(div,"click",function(event){
event = EventUtil.getEvent(event);
alert("Screen coordinates: "+event.screenX+","+event.screenY);
});
3.頁(yè)面坐標(biāo)位置
var div = document.getElementById("myDiv");
EventUtil(div,"click",function(event){
event = EventUtil.getEvent(event);
var pageX = event.pageX;
var pageY = event.pageY;
if(pageX==undefined)
{
pageX=event.clientX+document.body.scrollLeft||document.documentElement.scrollLeft;
}
if(pageY==undefined)
{
pageY = event.clientY+document.body.scrollTop||document.documentElement.scrollTop;
}
alert("Page coordinates: "+pageX+","+pageY);
});
更多關(guān)于JavaScript鼠標(biāo)操作相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript鼠標(biāo)操作技巧匯總》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- js實(shí)現(xiàn)獲取div坐標(biāo)的方法
- javascript獲取文檔坐標(biāo)和視口坐標(biāo)
- javascript實(shí)時(shí)獲取鼠標(biāo)坐標(biāo)值并顯示的方法
- js使用onmousemove和onmouseout獲取鼠標(biāo)坐標(biāo)的方法
- JS網(wǎng)頁(yè)在線獲取鼠標(biāo)坐標(biāo)值的方法
- javascript獲取當(dāng)前鼠標(biāo)坐標(biāo)的方法
- JavaScript獲取鼠標(biāo)移動(dòng)時(shí)的坐標(biāo)(兼容IE8、chome谷歌、Firefox)
- JS onmousemove鼠標(biāo)移動(dòng)坐標(biāo)接龍DIV效果實(shí)例
- js鼠標(biāo)及對(duì)象坐標(biāo)控制屬性詳細(xì)解析
- JavaScript獲取對(duì)象在頁(yè)面中位置坐標(biāo)的方法
相關(guān)文章
JS實(shí)現(xiàn)簡(jiǎn)單拖動(dòng)模態(tài)框案例
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)簡(jiǎn)單拖動(dòng)模態(tài)框案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
uniapp電商小程序?qū)崿F(xiàn)訂單30分鐘倒計(jì)時(shí)
這篇文章主要為大家詳細(xì)介紹了uniapp電商小程序?qū)崿F(xiàn)訂單30分鐘倒計(jì)時(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11
基于JavaScript實(shí)現(xiàn)游戲購(gòu)物車效果詳解
這篇文章主要介紹了如何利用JavaScript實(shí)現(xiàn)游戲購(gòu)物車效果,文中的實(shí)現(xiàn)代碼講解詳細(xì),對(duì)我們學(xué)習(xí)JavaScript有一定幫助,需要的可以參考一下2022-03-03
javascript引用類型之時(shí)間Date和數(shù)組Array
引用類型的值(對(duì)象)其實(shí)就是引用類型的一個(gè)實(shí)例,接下來,通過本篇文章給大家介紹javascript引用類型之時(shí)間Date和數(shù)組Array,需要的朋友可以參考下2015-08-08
js計(jì)時(shí)事件實(shí)現(xiàn)圓形時(shí)鐘
這篇文章主要為大家詳細(xì)介紹了js計(jì)時(shí)事件實(shí)現(xiàn)圓形時(shí)鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10
JavaScript新引入的原始數(shù)據(jù)類型Symbol詳解
Symbol是ES6中引入的一種新的基本數(shù)據(jù)類型,用于表示一個(gè)獨(dú)一無二的值。它是JavaScript中的第七種數(shù)據(jù)類型。本文將詳細(xì)講講Symbol的使用,需要的可以參考一下2023-01-01

