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

JavaScript Event學(xué)習(xí)第六章 事件的訪問

 更新時間:2010年02月07日 10:42:46   作者:  
在這一章我會講解如何去訪問一個事件對象。
現(xiàn)在我們已經(jīng)注冊了事件處理程序,對于事件我們還想更深入的了解。我們想知道事件發(fā)生時候的鼠標(biāo)位置,我們想知道用戶按下了哪些鍵。這些都是可能的,雖然這部分有很多煩人的瀏覽器兼容性問題。(這里可以快速查看瀏覽器兼容性列表)。
要讀出事件的屬性,必須要先能訪問到事件。
瀏覽器兼容性
站在瀏覽器戰(zhàn)爭的角度看,Netscape實現(xiàn)了一個訪問模型(后來被W3C做借鑒)和很多的事件屬性,同時微軟也做了同樣的事情。當(dāng)然這兩種模型是完全不兼容的。但是就像我們再簡介里面說的,如果
復(fù)制代碼 代碼如下:

if (W3C/Netscape) {
use W3C/Netscape model for access and property names
}
else if (Explorer) {
use Microsoft model for access and property names
}

這樣是不正確的解決兼容性問題的辦法,他會讓一些能執(zhí)行大部分代碼但是沒有考慮到的瀏覽器失去作用。所以我們得先訪問一個事件然后再分別讀取他的屬性。
我們先來討論訪問事件的問題,事件屬性會在后面討論。
W3C/Netscape
在W3C/Netscape事件訪問模型中事件會被當(dāng)做一個參數(shù)傳遞給事件處理程序。所以如果你定義一個事件處理程序
element.onclick=doSomething;

doSomething()就會把事件當(dāng)做一個參數(shù)。習(xí)慣上保存在一個e變量中,當(dāng)然你可以改成任何名字:
復(fù)制代碼 代碼如下:

function doSomething(e) {
// e gives access to the event
}

這是完全自動的,不需要其他的代碼。在匿名函數(shù)中你可以這樣寫:
element.onclick = function (e) {alert('Event type is ' + e.type)}

微軟
在微軟的事件訪問模型中有一個特別的屬性window.event包含最后一個發(fā)生的事件。
復(fù)制代碼 代碼如下:

element.onclick = doSomething;

function doSomething() {
// window.event gives access to the event
}

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

element.onclick = function () {alert('Event type is ' + window.event.type)}

Event和event
注意到還有一個古老的Netscape屬性window.Event。IE不認(rèn)識這個,Netscape 4也會曲解他。所以寫的時候一定要確保event是小寫e開頭的。
跨瀏覽器的事件訪問
很幸運的是要寫跨瀏覽器訪問事件的腳本還是很簡單的:
復(fù)制代碼 代碼如下:

element.onclick = doSomething;

function doSomething(e) {
if (!e) var e = window.event;
// e gives access to the event in all browsers
}

如果e不存在那么就給他賦值window.event?,F(xiàn)在e在所有瀏覽器里面都表示事件。
與內(nèi)聯(lián)式的事件處理程序合并
在內(nèi)聯(lián)式的注冊模型中,你必須把event傳遞給函數(shù):
復(fù)制代碼 代碼如下:

<pre onclick="doSomething(event)">

function doSomething(e) {
alert(e.type);
}

雖然在微軟模型里(window.)event是正確的屬性,其他瀏覽器也能識別。
繼續(xù)
如果你想繼續(xù)學(xué)習(xí),請看下一章。
原文地址:http://www.quirksmode.org/js/events_access.html
第一次翻譯 大家多包含 我的twitter:@rehawk

相關(guān)文章

  • JS實現(xiàn)的跨瀏覽器解析XML文件實例

    JS實現(xiàn)的跨瀏覽器解析XML文件實例

    這篇文章主要介紹了JS實現(xiàn)的跨瀏覽器解析XML文件的方法,結(jié)合實例形式分析了javascript基于ActiveXObject操作xml文件的加載與解析相關(guān)技巧,需要的朋友可以參考下
    2016-06-06
  • IE autocomplete internet explorer''s autocomplete

    IE autocomplete internet explorer''s autocomplete

    IE autocomplete internet explorer''s autocomplete...
    2007-06-06
  • 微信小程序中視頻的顯示與隱藏功能

    微信小程序中視頻的顯示與隱藏功能

    這篇文章主要介紹了微信小程序中視頻的顯示與隱藏,思路大概是定義一個標(biāo)記變量,控制視頻的播放與暫停,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • 通過JS獲取Request.QueryString()參數(shù)的值實現(xiàn)方法

    通過JS獲取Request.QueryString()參數(shù)的值實現(xiàn)方法

    下面小編就為大家?guī)硪黄ㄟ^JS獲取Request.QueryString()參數(shù)的值實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • JS實現(xiàn)逐頁將PDF文件轉(zhuǎn)為圖片格式

    JS實現(xiàn)逐頁將PDF文件轉(zhuǎn)為圖片格式

    這篇文章主要為大家分享了如何通過前端js將pdf文件轉(zhuǎn)為圖片格式,并且支持翻頁預(yù)覽、以及圖片打包下載,文中的示例代碼簡潔易懂,需要的可以參考一下
    2023-05-05
  • JQuery加載圖片自適應(yīng)固定大小的DIV

    JQuery加載圖片自適應(yīng)固定大小的DIV

    在固定大小的div中放置一個圖片,當(dāng)圖片較小時顯示實際大小,當(dāng)圖片超過div大小時圖片 自動適應(yīng)div 的大小,實現(xiàn)思路如下,感興趣的朋友可以了解下
    2013-09-09
  • js調(diào)試系列 控制臺命令行API使用方法

    js調(diào)試系列 控制臺命令行API使用方法

    上次初步介紹了什么是控制臺,以及簡單的 console.log 輸出信息。最后還有兩個小問題,我們就當(dāng)回顧,來看下怎么操作吧
    2014-06-06
  • Javascript模擬實現(xiàn)new原理解析

    Javascript模擬實現(xiàn)new原理解析

    這篇文章主要介紹了Javascript模擬實現(xiàn)new原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • ionic實現(xiàn)底部分享功能

    ionic實現(xiàn)底部分享功能

    這篇文章主要為大家詳細(xì)介紹了ionic實現(xiàn)底部分享功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 微信小程序?qū)崿F(xiàn)禁止分享代碼實例

    微信小程序?qū)崿F(xiàn)禁止分享代碼實例

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)禁止分享代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10

最新評論

收藏| 乌拉特前旗| 巴里| 石棉县| 阿拉善右旗| 博客| 双辽市| 万盛区| 高雄县| 苍溪县| 龙胜| 美姑县| 鄂温| 靖西县| 商河县| 舒兰市| 密云县| 琼海市| 繁峙县| 溧阳市| 西丰县| 甘洛县| 淮南市| 洱源县| 宜宾县| 和平区| 通山县| 金平| 云梦县| 集贤县| 邮箱| 汕尾市| 安康市| 正阳县| 象山县| 资兴市| 城口县| 安多县| 安康市| 轮台县| 吉安县|