亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JavaScript Event學(xué)習(xí)第二章 Event瀏覽器兼容性

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

界面事件(Interface events)

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

鼠標(biāo)事件(mouse events)

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

表單事件(Form events)

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

W3C事件(W3C events)

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

微軟事件(Microsoft events)

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

Mozilla事件(Mozilla events)

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

事件處理程序

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

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

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

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

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

繼續(xù)

      如果你要繼續(xù)學(xué)習(xí),那么請(qǐng)看下一章。

相關(guān)文章

  • js+css在交互上的應(yīng)用

    js+css在交互上的應(yīng)用

    關(guān)于css應(yīng)用。以前一直認(rèn)為css就是做布局樣式,只能表現(xiàn)頁面,跟交互是沒關(guān)系的。事實(shí)上也基本不會(huì)往那邊想。
    2010-07-07
  • JavaScript之RegExp_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    JavaScript之RegExp_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    正則表達(dá)式是一種用來匹配字符串的強(qiáng)有力的武器。它的設(shè)計(jì)思想是用一種描述性的語言來給字符串定義一個(gè)規(guī)則,凡是符合規(guī)則的字符串,我們就認(rèn)為它“匹配”了,否則,該字符串就是不合法的
    2017-06-06
  • 微信小程序基于ColorUI構(gòu)建皮皮蝦短視頻去水印組件

    微信小程序基于ColorUI構(gòu)建皮皮蝦短視頻去水印組件

    這篇文章主要介紹了微信小程序-基于ColorUI構(gòu)建皮皮蝦短視頻去水印組件,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-11-11
  • js實(shí)現(xiàn)選項(xiàng)卡效果

    js實(shí)現(xiàn)選項(xiàng)卡效果

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)選項(xiàng)卡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • JavaScript使用canvas實(shí)現(xiàn)錨點(diǎn)摳圖功能

    JavaScript使用canvas實(shí)現(xiàn)錨點(diǎn)摳圖功能

    在日常的圖片處理中,我們經(jīng)常會(huì)遇到需要摳圖的情況,無論是為了美化照片、制作海報(bào),還是進(jìn)行圖片合成,摳圖對(duì)于我們來說也是一種很常用的功能了,今天就讓我們一起來看下怎么使用canvas來實(shí)現(xiàn)一個(gè)錨點(diǎn)摳圖功能
    2024-03-03
  • js動(dòng)態(tài)拼接正則表達(dá)式的兩種方法

    js動(dòng)態(tài)拼接正則表達(dá)式的兩種方法

    這篇文章主要介紹了js動(dòng)態(tài)拼接正則表達(dá)式的兩種方法,需要的朋友可以參考下
    2014-03-03
  • 一文掌握J(rèn)avaScript數(shù)組常用工具函數(shù)總結(jié)

    一文掌握J(rèn)avaScript數(shù)組常用工具函數(shù)總結(jié)

    這篇文章主要介紹了一文掌握J(rèn)avaScript數(shù)組常用工具函數(shù)總結(jié),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值
    2022-06-06
  • JS自定義滾動(dòng)條效果簡(jiǎn)單實(shí)現(xiàn)代碼

    JS自定義滾動(dòng)條效果簡(jiǎn)單實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了JS自定義滾動(dòng)條效果的簡(jiǎn)單實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Bootstrap CSS使用方法

    Bootstrap CSS使用方法

    這篇文章主要為大家詳細(xì)介紹了Bootstrap中CSS的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 淺析JavaScript中的事件委托機(jī)制跟深淺拷貝

    淺析JavaScript中的事件委托機(jī)制跟深淺拷貝

    這篇文章主要介紹了JavaScript中的事件委托機(jī)制跟深淺拷貝,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01

最新評(píng)論