西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)編程開發(fā)javascript|JQuery → JavaScript Event學(xué)習(xí)第六章:事件的訪問

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

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:本站原創(chuàng)時(shí)間:2010/2/19 11:13:45字體大小:A-A+

作者:不詳點(diǎn)擊:238次評(píng)論:1次標(biāo)簽: Event

  • 類型:加殼脫殼大。126KB語(yǔ)言:中文 評(píng)分:3.5
  • 標(biāo)簽:
立即下載

在這一章我會(huì)講解如何去訪問一個(gè)事件對(duì)象。

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

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

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

1 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>


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

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

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

1 element.onclick=doSomething;<BR>


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

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


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

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

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

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


或者

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

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

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

1 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)式的注冊(cè)模型中,你必須把event傳遞給函數(shù):

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

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

    易語(yǔ)言
    (22)易語(yǔ)言
    易語(yǔ)言開發(fā)的軟件雖然經(jīng)常會(huì)被一些安全軟件誤報(bào)為病毒,但是易語(yǔ)言確實(shí)是一門可學(xué)很好的編程語(yǔ)言,因?yàn)槭侨形娜梢暱缙脚_(tái)編程語(yǔ)言,全中文支持,無(wú)需跨越英語(yǔ)門檻。全可視化編程,支持所見即所得程序界面設(shè)計(jì)和程序流程編碼。因此易語(yǔ)言也可以理解為簡(jiǎn)易的語(yǔ)言,跟語(yǔ)言語(yǔ)言等以英文為基礎(chǔ)的國(guó)外語(yǔ)言開發(fā)平臺(tái),易語(yǔ)言學(xué)習(xí)起來更簡(jiǎn)單了。西西本次提供了易語(yǔ)言.完美破解版,十天學(xué)會(huì)易語(yǔ)言圖解教程教程易語(yǔ)言零起點(diǎn)教程易語(yǔ)言個(gè)皮膚...更多>>

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(1)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)