js獲取鼠標座標位置兼容多個瀏覽器

這個是IE 11 下兼容下視圖測試時可用。javascript

$(window).bind('beforeunload', function (event) {
    var _this = this;
    var x = event.originalEvent.clientX;
    var y = event.originalEvent.clientY;
    if (x > event.currentTarget.document.body.clientWidth && y < 0 || event.altKey) {
       // alert("ok");
        $.post("/admin/login/ClearSesssion", function (response) {
            //$("#myPnl").html(response);
        });
    }

});

這個看似簡單的獲取座標功能,但是已經花費我一天時間了,白天一直搜索js獲取座標,找了不少不少,一一檢驗,結果出現不兼容。真的夠煩躁了,可是事情仍是要繼續,要完成,回來又繼續實踐,搜索,反覆操做,發現本身好多不會呀,特別是jquery自定義方法(函數),根本就不會,很欠缺基礎,內心暗暗下決心,弄完這個好好學習一下js,否則總是卡在這方面。時間雖然已通過去好久了,但我仍是沒有放棄,想一想換個關鍵詞搜索一下,是否是能夠找到我想要的。搜索「js獲取座標兼容ie8」,一會兒出現後幾條,因而挑選一個實踐,改造,功夫不負有心人,終於出現我想要的結果了。感謝網絡,感謝網友,解決了困擾我一天的問題。貼出網上找到的代碼。css

複製代碼
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>JavaScript獲取鼠標移動時的座標(兼容:IE八、谷歌、Firefox、Opera)_腳本之家</title> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<style type="text/css"> 
.tip { 
width:200px; 
border:2px solid #ddd; 
padding:8px; 
background:#f1f1f1; 
color:#666; 
} 
</style> 
<script type="text/javascript"> 
  
//方法1 
function mousePos(e){ 
  var x,y; 
  var e = e||window.event; 
  return { 
    x:e.clientX+document.body.scrollLeft + document.documentElement.scrollLeft, 
    y:e.clientY+document.body.scrollTop + document.documentElement.scrollTop 
  }; 
}; 
  
//方法2 
//Firefox支持屬性pageX,與pageY屬性,這兩個屬性已經把頁面滾動計算在內了, 
//在Chrome能夠經過document.body.scrollLeft,document.body.scrollTop計算出頁面滾動位移, 
//而在IE下能夠經過document.documentElement.scrollLeft ,document.documentElement.scrollTop 
function getMousePos(event) { 
      var e = event || window.event; 
      var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; 
      var scrollY = document.documentElement.scrollTop || document.body.scrollTop; 
      var x = e.pageX || e.clientX + scrollX; 
      var y = e.pageY || e.clientY + scrollY; 
      //alert('x: ' + x + '\ny: ' + y); 
      return { 'x': x, 'y': y }; 
    } 
  
function test(e){ 
document.getElementById("mjs").innerHTML = getMousePos(e).x+','+getMousePos(e).y;   
}; 
</script> 
</head> 
<body> 
<div id="mjs" class="tip">獲取鼠標點擊位置座標</div> 
<div id="test" style="width:1000px;height:1000px;background:#ccc;" onmousemove="test(event)"></div> 
</body> 
</html>
複製代碼

我改造以後須要的代碼html

按 Ctrl+C 複製代碼
按 Ctrl+C 複製代碼

 

下面這個ie7,ie8不兼容,部分瀏覽器能夠java

<img src="images/a.gif" onclick="GetPosition(event)" />jquery


function GetPostion(e) {
  var x = getX(e);
  var y = getY(e);
}
function getX(e) {
  e = e || window.event;
   
return e.pageX || e.clientX + document.body.scroolLeft;
}

function getY(e) {
  e = e|| window.event;
 return e.pageY || e.clientY + document.boyd.scrollTop;
}瀏覽器

總結一下,信息檢索真的很重要,就是要學會提問,搜索關鍵字。網絡

轉自: http://www.cnblogs.com/annabook/p/4506614.html函數

相關文章
相關標籤/搜索