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實(shí)現(xiàn)驚艷的打字機(jī)效果
這篇文章主要為大家詳細(xì)介紹了如何使用JavaScript打造驚艷打字機(jī)效果,讓你的文字生動(dòng)躍動(dòng),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03
微信小程序template模板與component組件的區(qū)別和使用詳解
這篇文章主要介紹了微信小程序template模板與component組件的區(qū)別和使用詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05
使用Math.max,Math.min獲取數(shù)組中的最值實(shí)例
下面小編就為大家?guī)?lái)一篇使用Math.max,Math.min獲取數(shù)組中的最值實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04

