Javascript在IE或Firefox下獲取鼠標位置的代碼_javascript技巧
來源:懂視網
責編:小采
時間:2020-11-27 20:46:15
Javascript在IE或Firefox下獲取鼠標位置的代碼_javascript技巧
Javascript在IE或Firefox下獲取鼠標位置的代碼_javascript技巧:第一段代碼是利用全局變量來獲取實時鼠標的位置。 代碼如下: var xPos; var yPos; window.document.onmousemove(function(evt){ evt=evt window.event; if(evt.pageX){ xPos=evt.pageX; yPos=evt.pageY;
導讀Javascript在IE或Firefox下獲取鼠標位置的代碼_javascript技巧:第一段代碼是利用全局變量來獲取實時鼠標的位置。 代碼如下: var xPos; var yPos; window.document.onmousemove(function(evt){ evt=evt window.event; if(evt.pageX){ xPos=evt.pageX; yPos=evt.pageY;

第一段代碼是利用全局變量來獲取實時鼠標的位置。
代碼如下:
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;
}
});
因為IE和Firefox對clientX的解析不一樣,IE認為clientX是鼠標相對整個頁面左上角的位置,而Firefox認為是相對當前所見頁面左上角的位置。而這段代碼最終返回的結果是整個頁面左上角的位置。這段代碼的缺陷是,xPos和yPos是實時變動的。
第二段代碼是通過函數獲取當前時刻的鼠標坐標值
代碼如下:
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
};
}
這段代碼的來源是這里,這個網站還提供了一些簡單的樣例給我們玩耍。這個函數和剛才的函數理論是一致的,先觸發mousemove事件,然后獲取了事件之后,分別判斷瀏覽器類型。這段代碼的優點是,不適用全局變量,并且可以隨用隨拿,只要調用這個函數,就能夠獲取鼠標坐標。
這兩段代碼,個人偏好于后者,現在先把這段代碼記下來,這段代碼應該是會經常被使用到的。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
Javascript在IE或Firefox下獲取鼠標位置的代碼_javascript技巧
Javascript在IE或Firefox下獲取鼠標位置的代碼_javascript技巧:第一段代碼是利用全局變量來獲取實時鼠標的位置。 代碼如下: var xPos; var yPos; window.document.onmousemove(function(evt){ evt=evt window.event; if(evt.pageX){ xPos=evt.pageX; yPos=evt.pageY;