国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript中為事件指定處理程序的五種方式分析

2024-05-06 15:32:25
字體:
供稿:網(wǎng)友

本文實例講述了JavaScript中為事件指定處理程序的五種方式。分享給大家供大家參考,具體如下:

JavaScript和HTML之間的交互是通過事件實現(xiàn)的。

IE9、Firefox、Opera、Sarifi、Chrome都已經(jīng)實現(xiàn)了DOM2級事件模塊的核心部分,IE8是最后一個仍然使用其專有事件系統(tǒng)的主要瀏覽器。

事件流:

事件流描述的是從頁面中接受事件的順序,但IE和Netscape卻提出了完全相反的事件流的概念,IE的事件流是事件冒泡流,而Netscape的事件流是事件捕獲流。

1) 事件冒泡

事件開始時由最具體的元素(文檔中嵌套層次最深的那個節(jié)點接收,然后逐級向上傳播到較為不具體的節(jié)點(文檔)。

不支持事件冒泡的事件:blur、focus、load、unload。

2) 事件捕獲

不太具體的節(jié)點應該更早接收到事件,而最具體的節(jié)點應該最后接收到事件。事件捕獲的用意在于事件到達預定目標之前捕獲它。

雖然IE9、Safari、Chrome、Firefox、Opera都支持事件捕獲和事件冒泡,但IE8及其更早版本只支持事件冒泡,不支持事件捕獲,因此。建議使用事件冒泡,在有特殊需要的時候再使用事件捕獲。

DOM事件流:

DOM2級事件規(guī)定的事件流包括三個階段:事件捕獲階段,處于目標階段和事件冒泡階段。實際上,在事件捕獲階段預定目標不會接收到事件,處于目標階段事件在預定目標上發(fā)生。事件處理中,處于目標階段被看成事件冒泡階段的一部分。但是,即使“DOM2級事件”規(guī)范明確要求捕獲階段不會涉及事件目標,但IE9、 Safari、Chrome、Firefox和Opera9.5及更高版本都會在捕獲階段觸發(fā)事件對象上的事件,結(jié)果是有兩個機會在目標對象上操作事 件。

IE9、Firefox、Opera、Sarifi、Chrome都支持DOM事件流,IE8及其更早版本不支持DOM事件流。

事件處理程序:

事件就是用戶或瀏覽器自身執(zhí)行的某種動作,而響應某個事件的函數(shù)就是事件處理程序(或事件偵聽器),事件處理程序的名字以“on”開頭。

JavaScript中有五種事件處理程序方式:

1) HTML事件處理程序

每種事件都可以使用一個與相應事件處理程序同名的HTML特性來指定,特性的值可以是能夠執(zhí)行的JavaScript代碼,也可以是函數(shù)。函數(shù)中有一個局部變量event,通過event變量可以訪問事件對象;在函數(shù)內(nèi)部,this值等于事件的目標元素。

在HTML中指定事件處理程序的幾個缺點:

① 時差問題:用戶可能在HTML元素一出現(xiàn)在頁面上就觸發(fā)相應的事件,但當時的事件處理程序有可能尚不具備執(zhí)行條件,如用戶在解析事件處理函數(shù)之前就觸發(fā)事件。為此,很多HTML事件處理程序都會封裝在一個try-catch塊中,以便及時捕獲錯誤,以免錯誤拋出被用戶看到。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 卢湾区| 饶河县| 买车| 南靖县| 荥经县| 霸州市| 青神县| 郑州市| 岚皋县| 蒙城县| 德钦县| 绥中县| 上饶县| 平潭县| 铜川市| 平南县| 惠来县| 牙克石市| 治多县| 亳州市| 连平县| 河南省| 从江县| 花莲县| 汝阳县| 凭祥市| 仁怀市| 福贡县| 黎平县| 蒙自县| 凤庆县| 兴山县| 湖南省| 凤山县| 扬中市| 阜新| 民乐县| 资溪县| 济南市| 福鼎市| 湛江市|