最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript在IE或Firefox下獲取鼠標(biāo)位置的代碼

 更新時(shí)間:2009年12月18日 00:56:48   作者:  
由于Firefox和IE等瀏覽器之間對(duì)JS解釋的方式不一樣,F(xiàn)irefox下面獲取鼠標(biāo)位置不能夠直接使用clientX來(lái)獲取。網(wǎng)上說(shuō)的一般都是觸發(fā)mousemove事件才行。我這里有兩段代碼,思路都一樣,就是風(fēng)格不同。
第一段代碼是利用全局變量來(lái)獲取實(shí)時(shí)鼠標(biāo)的位置。
復(fù)制代碼 代碼如下:

var xPos;
var yPos;
window.document.onmousemove(function(evt){
evt=evt || window.event;
if(evt.pageX){
xPos=evt.pageX;
yPos=evt.pageY;
} else {
xPos=evt.clientX+document.body.scrollLeft-document.body.clientLeft;
yPos=evt.clientY+document.body.scrollTop-document.body.clientTop;
}
});


因?yàn)镮E和Firefox對(duì)clientX的解析不一樣,IE認(rèn)為clientX是鼠標(biāo)相對(duì)整個(gè)頁(yè)面左上角的位置,而Firefox認(rèn)為是相對(duì)當(dāng)前所見(jiàn)頁(yè)面左上角的位置。而這段代碼最終返回的結(jié)果是整個(gè)頁(yè)面左上角的位置。這段代碼的缺陷是,xPos和yPos是實(shí)時(shí)變動(dòng)的。

第二段代碼是通過(guò)函數(shù)獲取當(dāng)前時(shí)刻的鼠標(biāo)坐標(biāo)值

復(fù)制代碼 代碼如下:

document.onmousemove = mouseMove;
function mouseMove(ev){
ev = ev || window.event;
var mousePos = mouseCoords(ev);
}
function mouseCoords(ev){
if(ev.pageX || ev.pageY){
return {x:ev.pageX, y:ev.pageY};
}
return {
x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y:ev.clientY + document.body.scrollTop - document.body.clientTop
};
}


這段代碼的來(lái)源是這里,這個(gè)網(wǎng)站還提供了一些簡(jiǎn)單的樣例給我們玩耍。這個(gè)函數(shù)和剛才的函數(shù)理論是一致的,先觸發(fā)mousemove事件,然后獲取了事件之后,分別判斷瀏覽器類型。這段代碼的優(yōu)點(diǎn)是,不適用全局變量,并且可以隨用隨拿,只要調(diào)用這個(gè)函數(shù),就能夠獲取鼠標(biāo)坐標(biāo)。

這兩段代碼,個(gè)人偏好于后者,現(xiàn)在先把這段代碼記下來(lái),這段代碼應(yīng)該是會(huì)經(jīng)常被使用到的。

相關(guān)文章

最新評(píng)論

宁化县| 永吉县| 布拖县| 柯坪县| 卓尼县| 潮州市| 海丰县| 马尔康县| 三台县| 大埔县| 镇宁| 武陟县| 塔河县| 壤塘县| 乌鲁木齐县| 高陵县| 平遥县| 克东县| 磐安县| 绩溪县| 历史| 泗洪县| 阜阳市| 太仆寺旗| 芜湖县| 神池县| 珲春市| 宜章县| 兰州市| 荔浦县| 铜鼓县| 昌图县| 茂名市| 甘南县| 永顺县| 克什克腾旗| 喀喇沁旗| 红安县| 抚宁县| 凤台县| 福州市|