• <td id="ae6ms"><li id="ae6ms"></li></td>
  • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
  • <table id="ae6ms"></table>
  • <td id="ae6ms"></td>
    <td id="ae6ms"></td>
  • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
  • <td id="ae6ms"></td>
  • <table id="ae6ms"><li id="ae6ms"></li></table>
  • <table id="ae6ms"></table>
    西西軟件園多重安全檢測下載網站、值得信賴的軟件下載站!
    軟件
    軟件
    文章
    搜索

    首頁編程開發javascript|JQuery → JavaScript Event學習第六章:事件的訪問

    JavaScript Event學習第六章:事件的訪問

    相關軟件相關文章發表評論 來源:本站原創時間:2010/2/19 11:13:45字體大?。?em class="fontsize">A-A+

    作者:不詳點擊:238次評論:1次標簽: Event

    • 類型:加殼脫殼大?。?i>126KB語言:中文 評分:3.5
    • 標簽:
    立即下載

    在這一章我會講解如何去訪問一個事件對象。

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

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

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

    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>


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

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

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

    1 element.onclick=doSomething;<BR>


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

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


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

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

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

    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
    注意到還有一個古老的Netscape屬性window.Event。IE不認識這個,Netscape 4也會曲解他。所以寫的時候一定要確保event是小寫e開頭的。

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

    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?,F在e在所有瀏覽器里面都表示事件。

    與內聯式的事件處理程序合并
    在內聯式的注冊模型中,你必須把event傳遞給函數:

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

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

      易語言
      (22)易語言
      易語言開發的軟件雖然經常會被一些安全軟件誤報為病毒,但是易語言確實是一門可學很好的編程語言,因為是全中文全可視跨平臺編程語言,全中文支持,無需跨越英語門檻。全可視化編程,支持所見即所得程序界面設計和程序流程編碼。因此易語言也可以理解為簡易的語言,跟語言語言等以英文為基礎的國外語言開發平臺,易語言學習起來更簡單了。西西本次提供了易語言.完美破解版,十天學會易語言圖解教程教程易語言零起點教程易語言個皮膚...更多>>

      相關評論

      閱讀本文后您有什么感想? 已有人給出評價!

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

      熱門評論

      最新評論

      發表評論 查看所有評論(1)

      昵稱:
      表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
      字數: 0/500 (您的評論需要經過審核才能顯示)
      女人让男人桶30分钟免费视频,女人张开腿让男人桶个爽,一进一出又大又粗爽视频
    • <td id="ae6ms"><li id="ae6ms"></li></td>
    • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
    • <table id="ae6ms"></table>
    • <td id="ae6ms"></td>
      <td id="ae6ms"></td>
    • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
    • <td id="ae6ms"></td>
    • <table id="ae6ms"><li id="ae6ms"></li></table>
    • <table id="ae6ms"></table>