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

用javascript獲取當(dāng)頁面上鼠標(biāo)光標(biāo)位置和觸發(fā)事件的對象的代碼

 更新時間:2009年12月09日 20:56:20   作者:  
用 javascript 獲取當(dāng)頁面上鼠標(biāo)(光標(biāo))位置 和 觸發(fā)事件的對象 的方法
用javascript獲取鼠標(biāo)位置:
復(fù)制代碼 代碼如下:

function mousePosition(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
};
}

document.onmousemove = mouseMove;
function mouseMove(ev){
ev = ev || window.event;
var mousePos = mousePosition(ev);
}

關(guān)于代碼的詳細(xì)說明,原文中已經(jīng)介紹,現(xiàn)轉(zhuǎn)到此處:
我們首先要聲明一個 evnet 對象,無論移動、點擊、按鍵等,都會激活一個 evnet ,在 Internet Explorer 里, event 是全局變量,會被存儲在 window.event 里. 在 firefox 或者其他瀏覽器,event 會被相應(yīng)的函數(shù)獲?。?dāng)我們將mouseMove函數(shù)賦值于document.onmousemove,mouseMove 會獲取鼠標(biāo)移動事件。
為了讓 ev 在所有瀏覽器下獲取了 event 事件,在Firefox下"||window.event"將不起作用,因為ev已經(jīng)有了賦值。在 MSIE 中 ev 為空,所以得到 window.event 。
因為在這篇文章中我們需要多次獲取鼠標(biāo)位置,所以我們設(shè)計了一個 mousePosition 函數(shù),它包含一個參數(shù) : event 。
因為我們要在 MSIE 和其他瀏覽器下運行,F(xiàn)irefox 和其他瀏覽器用 event.pageX 和 event.pageY 來表示鼠標(biāo)相對于文檔的位置,如果你有一個 500*500 的窗口并且你的鼠標(biāo)在絕對中間,那么 pageX 和 pageY 的值都是 250,如果你向下滾動 500, 那么 pageY 將變成 750。
MSIE 正好相反,它使用 event.clientX 和 event.clientY 表示鼠標(biāo)相當(dāng)于窗口的位置,而不是文檔。在同樣的例子中,如果你向下滾動500,clientY 依然是 250,因此,我們需要添加 scrollLeft 和 scrollTop 這兩個相對于文檔的屬性。最后,MSIE 中文檔并不是從 0,0 開始,而是通常有一個小的邊框(通常是 2 象素),邊框的大小定義在 document.body.clientLeft 和 clientTop 中,我們也把這些加進去。
很幸運,我們現(xiàn)在已經(jīng)用 mousePosition 函數(shù)解決了坐標(biāo)問題,不需為此費心了。

用javascript獲取觸發(fā)事件的對象
復(fù)制代碼 代碼如下:

<script language = "javascript" >
document.onclick = onClick;
function onClick(ev)
{
ev = ev || window.event; // 事件
var target = ev.target || ev.srcElement; // 獲得事件源
/* target.getAttribute()是獲取該事件源對像里面的一些屬性。
比如對像中有(name,id,type等等);*/
var dragObj = target.getAttribute('id');
alert(dragObj);
}
</ script >

關(guān)鍵還是event對象在多瀏覽器下的兼容性,和上面方式是一樣的,這里代碼就不做說明了

相關(guān)文章

  • JavaScript生成圖形驗證碼

    JavaScript生成圖形驗證碼

    這篇文章主要為大家詳細(xì)介紹了JavaScript生成圖形驗證碼的相關(guān)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • js利用appendChild對<li>標(biāo)簽進行排序的實現(xiàn)方法

    js利用appendChild對<li>標(biāo)簽進行排序的實現(xiàn)方法

    下面小編就為大家?guī)硪黄猨s利用appendChild對<li>標(biāo)簽進行排序的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • javascript實現(xiàn)判斷鼠標(biāo)的狀態(tài)

    javascript實現(xiàn)判斷鼠標(biāo)的狀態(tài)

    這篇文章主要介紹了javascript實現(xiàn)判斷鼠標(biāo)的狀態(tài)的相關(guān)代碼,十分簡單實用,有需要的小伙伴可以參考下。
    2015-07-07
  • JavaScript動畫實例之粒子文本的實現(xiàn)方法詳解

    JavaScript動畫實例之粒子文本的實現(xiàn)方法詳解

    這篇文章主要介紹了JavaScript動畫實例之粒子文本的實現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • egg.js的基本使用和調(diào)用數(shù)據(jù)庫的方法示例

    egg.js的基本使用和調(diào)用數(shù)據(jù)庫的方法示例

    這篇文章主要介紹了egg.js的基本使用和調(diào)用數(shù)據(jù)庫的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • JavaScript基于面向?qū)ο髮崿F(xiàn)的無縫滾動輪播示例

    JavaScript基于面向?qū)ο髮崿F(xiàn)的無縫滾動輪播示例

    這篇文章主要介紹了JavaScript基于面向?qū)ο髮崿F(xiàn)的無縫滾動輪播,結(jié)合實例形式分析了JavaScript面向?qū)ο髮崿F(xiàn)的無縫滾動輪播相關(guān)對象定義、初始化及功能實現(xiàn)技巧,需要的朋友可以參考下
    2020-01-01
  • Javascript控制div屬性動態(tài)變化實例分析

    Javascript控制div屬性動態(tài)變化實例分析

    這篇文章主要介紹了Javascript控制div屬性動態(tài)變化,以實例形式較為詳細(xì)的分析了JavaScript響應(yīng)鼠標(biāo)事件動態(tài)操作頁面元素屬性的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-10-10
  • Javascript this 的一些學(xué)習(xí)總結(jié)

    Javascript this 的一些學(xué)習(xí)總結(jié)

    相信有C++、C#或Java等編程經(jīng)驗的各位,對于this關(guān)鍵字再熟悉不過了。由于Javascript是一種面向?qū)ο蟮木幊陶Z言,它和C++、C#或Java一樣都包含this關(guān)鍵字,接下來我們將向大家介紹Javascript中的this關(guān)鍵字
    2012-08-08
  • 如何實現(xiàn)一個webpack模塊解析器

    如何實現(xiàn)一個webpack模塊解析器

    這篇文章主要介紹了如何實現(xiàn)一個webpack模塊解析器,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • 一文詳解Promise.race()方法功能及應(yīng)用場景

    一文詳解Promise.race()方法功能及應(yīng)用場景

    這篇文章主要為大家介紹了Promise.race()方法功能及應(yīng)用場景詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03

最新評論