多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > web前端 > jscript > JavaScript Event學(xué)習(xí)第六章:事件的訪問

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

來源:程序員人生   發(fā)布時間:2014-06-04 00:40:16 閱讀次數(shù):3433次
在這一章我會講解如何去訪問一個事件對象。

現(xiàn)在我們已經(jīng)注冊了事件處理程序,對于事件我們還想更深入的了解。我們想知道事件發(fā)生時候的鼠標(biāo)位置,我們想知道用戶按下了哪些鍵。這些都是可能的,雖然這部分有很多煩人的瀏覽器兼容性問題。(這里可以快速查看瀏覽器兼容性列表)。

要讀出事件的屬性,必須要先能訪問到事件。

瀏覽器兼容性
站在瀏覽器戰(zhàn)爭的角度看,Netscape實(shí)現(xiàn)了一個訪問模型(后來被W3C做借鑒)和很多的事件屬性,同時微軟也做了同樣的事情。當(dāng)然這兩種模型是完全不兼容的。但是就像我們再簡介里面說的,如果

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

這樣是不正確的解決兼容性問題的辦法,他會讓一些能執(zhí)行大部分代碼但是沒有考慮到的瀏覽器失去作用。所以我們得先訪問一個事件然后再分別讀取他的屬性。

我們先來討論訪問事件的問題,事件屬性會在后面討論。

W3C/Netscape
在W3C/Netscape事件訪問模型中事件會被當(dāng)做一個參數(shù)傳遞給事件處理程序。所以如果你定義一個事件處理程序

element.onclick=doSomething;<BR>

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

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

這是完全自動的,不需要其他的代碼。在匿名函數(shù)中你可以這樣寫:

element.onclick = function (e) {alert('Event type is ' + e.type)}<BR>

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

element.onclick = doSomething;<BR><BR>function doSomething() {<BR> // window.event gives access to the event<BR>}<BR>

或者

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

Event和event
注意到還有一個古老的Netscape屬性window.Event。IE不認(rèn)識這個,Netscape 4也會曲解他。所以寫的時候一定要確保event是小寫e開頭的。

跨瀏覽器的事件訪問
很幸運(yùn)的是要寫跨瀏覽器訪問事件的腳本還是很簡單的:

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

如果e不存在那么就給他賦值window.event。現(xiàn)在e在所有瀏覽器里面都表示事件。

與內(nèi)聯(lián)式的事件處理程序合并
在內(nèi)聯(lián)式的注冊模型中,你必須把event傳遞給函數(shù):

<pre onclick="doSomething(event)"><BR><BR>function doSomething(e) {<BR> alert(e.type);<BR>}<BR>

雖然在微軟模型里(window.)event是正確的屬性,其他瀏覽器也能識別。

如果你想繼續(xù)學(xué)習(xí),請看下一章。

原文地址:http://www.quirksmode.org/js/events_access.html
作者:北玉(tw:@rehawk)
文章出處:http://beiyu.cnblogs.com

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 91一区二区在线观看精品 | 91精品国产福利在线观看性色 | 2015日韩永久免费视频播放 | 久久久久这里只有精品 | 欧美激情伦妇在线观看 | 国产成人福利在线 | 最近伦中文字幕高清字幕mv | 一级做性色a爰片久久毛片免费 | 67194在线午夜亚洲 | 69视频最新在线观看 | 国产精品亚洲一区二区三区正片 | 国产精品自在线 | 中文字幕亚洲视频 | 色婷婷久久综合中文久久蜜桃 | 免费不卡视频 | 久草精品视频在线观看 | 一级a毛片免费观看久久精品 | 一级爱爱片一级毛片-一毛 一级爱一级做a性视频 | 国产成人青草视频 | 国产精品视频久久久久 | 97理论三级九七午夜在线观看 | 自拍欧美亚洲 | 日韩欧美一区二区不卡看片 | wwwwwww黄| 亚洲午夜久久久久中文字幕久 | 福利片一区 | 日本国产亚洲 | 精品一区二区三区在线视频 | 久久亚洲国产视频 | 精品亚洲成a人在线观看 | 福利片在线观看 | 欧美日本不卡 | 一区二区三区鲁丝不卡麻豆 | 日本免费不卡视频一区二区三区 | 樱花aⅴ一区二区三区四区 影视精品网站入口 | 中文在线视频观看 | 亚洲qingse中文字幕久久 | 一二三四在线手机观看视频 | 国产成人免费视频精品一区二区 | 国产成人精品日本亚洲直接 | 欧美综合精品一区二区三区 |