js獲取鼠標(biāo)點(diǎn)擊的位置實(shí)現(xiàn)思路及代碼
更新時(shí)間:2014年05月09日 09:17:55 作者:
常用的是 event.clientX和event.clientY分別獲取橫向的和縱向的位置,但僅使用這個(gè)方法是不夠的,感興趣的朋友可以了解本文
copy來(lái)的,但是原頁(yè)面的代碼還是需要修改,下面是修改可用的
常用的是 event.clientX和event.clientY分別獲取橫向的和縱向的位置,但僅使用這個(gè)方法是不夠的,因?yàn)閑vent.clientX和event.clientY獲取的鼠標(biāo)位置是相對(duì)于當(dāng)前屏幕的,而不考慮頁(yè)面的滾動(dòng)條所滾動(dòng)的距離。
function pointerX(event)
{
return event.pageX || (event.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft));
}
function pointerY(event)
{
return event.pageY || (event.clientY + (document.documentElement.scrollTop || document.body.scrollTop));
}
兩個(gè)方法分別獲得相對(duì)整個(gè)頁(yè)面(而不是屏幕)的鼠標(biāo)位置
event.pageX是在FF中所支持的,這樣就實(shí)現(xiàn)了跨瀏覽器操作
只需在其他方法中調(diào)用這兩個(gè)函數(shù)就可
function getPointPosition(event)
{
var x_px_scr = event.clientX;
var y_px_scr = event.clientY;
alert("相對(duì)于當(dāng)前屏幕的X軸偏移量" + x_px_scr);<span style="font-family: tahoma, helvetica, arial;">//相對(duì)于設(shè)備(PC或移動(dòng)設(shè)備)</span>
alert("相對(duì)于當(dāng)前屏幕的Y軸偏移量" + y_px_scr);//相對(duì)于設(shè)備(PC或移動(dòng)設(shè)備)
var x_Px_page = pointerX(event);
var y_Px_page = pointerY(event);
alert("相對(duì)于整個(gè)頁(yè)面的X軸偏移量" + x_Px_page); //相對(duì)于瀏覽器
alert("相對(duì)于整個(gè)頁(yè)面的Y軸偏移量" + y_Px_page); //相對(duì)于瀏覽器
}
常用的是 event.clientX和event.clientY分別獲取橫向的和縱向的位置,但僅使用這個(gè)方法是不夠的,因?yàn)閑vent.clientX和event.clientY獲取的鼠標(biāo)位置是相對(duì)于當(dāng)前屏幕的,而不考慮頁(yè)面的滾動(dòng)條所滾動(dòng)的距離。
復(fù)制代碼 代碼如下:
function pointerX(event)
{
return event.pageX || (event.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft));
}
function pointerY(event)
{
return event.pageY || (event.clientY + (document.documentElement.scrollTop || document.body.scrollTop));
}
兩個(gè)方法分別獲得相對(duì)整個(gè)頁(yè)面(而不是屏幕)的鼠標(biāo)位置
event.pageX是在FF中所支持的,這樣就實(shí)現(xiàn)了跨瀏覽器操作
只需在其他方法中調(diào)用這兩個(gè)函數(shù)就可
復(fù)制代碼 代碼如下:
function getPointPosition(event)
{
var x_px_scr = event.clientX;
var y_px_scr = event.clientY;
alert("相對(duì)于當(dāng)前屏幕的X軸偏移量" + x_px_scr);<span style="font-family: tahoma, helvetica, arial;">//相對(duì)于設(shè)備(PC或移動(dòng)設(shè)備)</span>
alert("相對(duì)于當(dāng)前屏幕的Y軸偏移量" + y_px_scr);//相對(duì)于設(shè)備(PC或移動(dòng)設(shè)備)
var x_Px_page = pointerX(event);
var y_Px_page = pointerY(event);
alert("相對(duì)于整個(gè)頁(yè)面的X軸偏移量" + x_Px_page); //相對(duì)于瀏覽器
alert("相對(duì)于整個(gè)頁(yè)面的Y軸偏移量" + y_Px_page); //相對(duì)于瀏覽器
}
相關(guān)文章
JavaScript模擬深藍(lán)vs卡斯帕羅夫的國(guó)際象棋對(duì)局示例
這篇文章主要介紹了JavaScript模擬深藍(lán)vs卡斯帕羅夫的國(guó)際象棋對(duì)局示例,使用javascript較為逼真的模擬出了國(guó)際象棋對(duì)弈的場(chǎng)景,需要的朋友可以參考下2015-04-04JS畫(huà)布動(dòng)態(tài)實(shí)現(xiàn)黑客帝國(guó)背景效果
這篇文章主要為大家詳細(xì)介紹了JS畫(huà)布動(dòng)態(tài)實(shí)現(xiàn)黑客帝國(guó)背景效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11動(dòng)態(tài)規(guī)劃之使用備忘錄來(lái)改進(jìn)Javascript函數(shù)
這篇文章主要介紹了動(dòng)態(tài)規(guī)劃之使用備忘錄來(lái)改進(jìn)Javascript函數(shù),動(dòng)態(tài)規(guī)劃它既是一種數(shù)學(xué)優(yōu)化方法,也是一種計(jì)算機(jī)編程方法,下文相關(guān)資料介紹需要的小伙伴可以參考一下2022-04-04javascript 使td內(nèi)容不換行不撐開(kāi)
javascript 使td內(nèi)容不換行不撐開(kāi)如何實(shí)現(xiàn),本文將詳細(xì)介紹,需要了解的朋友可以參考下2012-11-11uniapp多選框全選功能的實(shí)現(xiàn)思路與方法實(shí)例
uniapp給我們提供了tabs組件進(jìn)行單項(xiàng)的切換,但是多選的效果需要我們自己去手寫,下面這篇文章主要給大家介紹了關(guān)于uniapp多選框全選功能實(shí)現(xiàn)思路與方法的相關(guān)資料,需要的朋友可以參考下2022-08-08JavaScript Konami Code 實(shí)現(xiàn)代碼
JavaScript Konami Code 實(shí)現(xiàn)代碼2009-07-07