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

首頁編程開發(fā)javascript|JQuery → JavaScript Event學(xué)習(xí)第二章:Event

JavaScript Event學(xué)習(xí)第二章:Event

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

作者:不詳點擊:391次評論:63次標(biāo)簽: Event

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

在這一章我將對重要的事件做一個概述,包括一些流行的瀏覽器的兼容性問題。
在這里提出的事件,當(dāng)他們發(fā)生在一個確定的HTML元素上的時候,他們的名字能夠被大多數(shù)的瀏覽器所識別。也就是說,瀏覽器會查找你為這個HTML元素所注冊的事件處理程序的腳本,而且會被立即執(zhí)行。
一開始只有為數(shù)很少的一些事件。這些事件在幾乎所有的JavaScript瀏覽器都能運行,即使是那些非常古老的。需要注意的是那些早期的事件只能工作在鏈接或者表單上,有時候也能運行在整個窗口上,但是其他的大多數(shù)HTML元素不行。
時代變遷,很多新的事件也給大家介紹過了。第四代瀏覽器和更高級的瀏覽器允許事件注冊在任何的HTML元素上。
所以你基本上可以在任何元素上綁定任何事件,雖然在<P>上綁定一個keydown沒有什么意義。
在這里查看完整的瀏覽器事件兼容性列表。

 

界面事件(Interface events)
界面事件不是被用戶動作觸發(fā)的,而是被用戶行為結(jié)果觸發(fā)。
用戶在任何元素上單擊都會觸發(fā)一個click時間。當(dāng)點擊發(fā)生在有特殊含義的元素上的時候,額外的界面事件就會被觸發(fā)。
例如,當(dāng)用戶在一個鏈接上單擊就觸發(fā)了click時間。單擊這個鏈接一個新的頁面就會被裝載,所以這個特殊的click事件導(dǎo)致了界面事件unload的觸發(fā)。
其他的界面事件還有resize,scroll和focus/blur。

 

鼠標(biāo)事件(mouse events)
從Netscape 2開始,所有的瀏覽器都注意到了這樣兩個事實。當(dāng)鼠標(biāo)劃入一個鏈接區(qū)域,那么mouseover事件就觸發(fā)了。當(dāng)他點擊了這個鏈接那么click事件觸發(fā)。不久之后mouseout也被添加了進(jìn)去,他會在鼠標(biāo)離開鏈接區(qū)域的時候觸發(fā)。因此傳統(tǒng)的鼠標(biāo)事件三合會(Traditional Triad)成立了。
第三代的瀏覽器對于鼠標(biāo)事件進(jìn)行了一些擴(kuò)充。dbclick添加了進(jìn)來,click事件分割成了mousedown和mouseup:用戶按下和彈起鼠標(biāo)按鍵。最后跟蹤鼠
標(biāo)軌跡的mousemove也變成了可能
在后面的章節(jié)會詳細(xì)講解鼠標(biāo)事件(mouse event)。

 

表單事件(Form events)
表單能夠識別submit和reset事件,submit在用戶提交表單的時候觸發(fā)reset在重置表單的時候觸發(fā)。其中submit事件是所有表單驗證代碼的核心。當(dāng)用戶提交表單的時候,就遍歷一遍表單檢查是否有不正確的數(shù)據(jù)。如果發(fā)現(xiàn)了一個錯誤,停止提交表單并向用戶發(fā)出一個警告。
表單還能在某一項得到或者失去焦點的時候識別focus和blur事件,還有鍵盤事件和click事件。可以查看其他的兼容性列表。
一般情況下使用這些事件的時候要小心。當(dāng)用戶離開表單中的某一項的時候完全可以用onblur來驗證數(shù)據(jù),但是通常這都很煩人。用戶在忙著填表單的時候不想看見任何彈出來的提示。

 

W3C事件(W3C events)
在W3C的DOM 2 事件規(guī)范中 還定義了一些突發(fā)事件(Mutation events)。這些事件在文檔的DOM結(jié)構(gòu)發(fā)生變化的時候觸發(fā)。最常見的一個就是DOMSubtreeModified事件,它會在DOM發(fā)生變化的時候觸發(fā)。
Mozilla將這個事件設(shè)置為subtreemodified。Mozilla也不支持其他的我們沒有提到的w3c事件。

 

微軟事件(Microsoft events)
微軟創(chuàng)造了一大堆事件。有一些是非常有趣的。
當(dāng)用戶在任何時候單擊鼠標(biāo)右鍵的時候就會觸發(fā)comtextmenu事件。這非常有用以致濫用。Mozilla也支持這個事件。
當(dāng)導(dǎo)入XML文件的時候,readystatechange事件就像一些load事件一樣提供服務(wù)。當(dāng)XML文檔的readyState變成4的時候,文檔就加載完畢了。(不要問我什么是readyState,他管用而且夠用)
讓人驚奇的是在unload事件發(fā)生之前還有beforeunload事件。他設(shè)計的目的是用來取消關(guān)閉頁面,但是確沒人在乎。
最后微軟還發(fā)明了mouseenter和mouseleave事件,這兩個幾乎和mouseover合mouseout事件一樣。在鼠標(biāo)事件一章查看。
當(dāng)然以上事件只被IE支持。

 

Mozilla事件(Mozilla events)
Mozilla,當(dāng)然也有一大堆自己的事件。我還沒有仔細(xì)的研究。

 

事件處理程序
所有的事件無論何時觸發(fā)都會被瀏覽器檢測到。瀏覽器通常也會執(zhí)行默認(rèn)的程序,就像當(dāng)用戶點擊一個鏈接的時候。但是有時候什么也不會發(fā)生。

事件處理程序的重點在于你可以讓其他事情發(fā)生。你可以在事件發(fā)生的時候讓瀏覽器執(zhí)行你的腳本。如果你這樣寫了那么無論何時只要事件發(fā)生那么你的腳本就會執(zhí)行。如果這些腳本在符合邏輯的基礎(chǔ)上能非常的有用,那么你的用戶也會非常的愉快。

為了確保你的腳本在事件觸發(fā)的時候能夠執(zhí)行,你需要對HTML元素的確定的動作進(jìn)行事件注冊,就像下面這樣:

<a href="somewhere.html" onClick="alert('I\'ve been clicked!')">

這樣腳本里的alert('I\'ve been clicked!')就會在click事件發(fā)生的時候執(zhí)行。這就注冊了一個事件處理程序。

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

    相關(guān)評論

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

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

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(63)

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