欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Javascript 獲取鼠標(biāo)當(dāng)前的位置實(shí)現(xiàn)方法

 更新時(shí)間:2016年10月27日 17:29:47   投稿:lqh  
這篇文章主要介紹了Javascript 獲取鼠標(biāo)當(dāng)前的位置實(shí)現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下

有時(shí)候,我們需要得到窗口拖動(dòng)或者鼠標(biāo)移動(dòng)的距離,此時(shí)可以通過計(jì)算鼠標(biāo)前后在頁面中的位置來得到想要的結(jié)果,下面介紹幾個(gè)事件屬性:

1、客戶區(qū)坐標(biāo)位置

  鼠標(biāo)事件都是在瀏覽器視口中的特定位置上發(fā)生的。這個(gè)位置信息保存在事件對象的 clientX 和 clientY 屬性中。它們的值表示事件發(fā)生時(shí)鼠標(biāo)指針在視口中的水平和垂直坐標(biāo)(不包括頁面滾動(dòng)的距離)。如下圖所示:

var div = document.getElementById("myDiv"); //獲取元素
EventUtil.on(div, "click", function(event){
 event = EventUtil.getEvent(event);
 alert("Screen coordinates: " + event.screenX + "," + event.screenY);
});

注:其中,EventUtil.on()表示為元素綁定事件,EventUtil.getEvent(event)表示獲取事件對象。EventUtil是自定義的事件對象(使用JavaScript實(shí)現(xiàn)),里面包含了一些跨瀏覽器的方法,具體實(shí)現(xiàn),請看另一篇文章《一些跨瀏覽器的事件方法》。如果項(xiàng)目使用了jQuery插件,可相應(yīng)的替換成對應(yīng)的方法。

2、頁面坐標(biāo)位置

  事件對象屬性pageX 和pageY,能告訴你事件是在頁面中的什么位置發(fā)生的。換句話說,這兩個(gè)屬性表示鼠標(biāo)光標(biāo)在頁面中的位置(相當(dāng)于鼠標(biāo)在窗口中的位置坐標(biāo) + 頁面滾動(dòng)的距離)。

var div = document.getElementById("myDiv");//獲取id為"myDiv"的元素
EventUtil.on(div, "click", function(event){//為元素綁定click事件
 event = EventUtil.getEvent(event);//獲取event事件對象
 var pageX = event.pageX,pageY = event.pageY;
 if (pageX === undefined){//IE8及更早版本
  pageX = event.clientX + (document.body.scrollLeft || document.documentElement.scrollLeft);
 }
 if (pageY === undefined){
  pageY = event.clientY + (document.body.scrollTop || document.documentElement.scrollTop);
 }
 alert("Page coordinates: " + pageX + "," + pageY);
});

3、屏幕坐標(biāo)位置

  通過screenX 和screenY 屬性就可以確定鼠標(biāo)事件發(fā)生時(shí)鼠標(biāo)指針相對于整個(gè)屏幕的坐標(biāo)信息。如下圖所示:

var div = document.getElementById("myDiv");
EventUtil.on(div, "click", function(event){
 event = EventUtil.getEvent(event);
 alert("Screen coordinates: " + event.screenX + "," + event.screenY);
});
 

文章參考自《JavaScript高級(jí)程序設(shè)計(jì)第三版》

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評(píng)論