溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

js 事件學(xué)習(xí)與總結(jié)

發(fā)布時間:2020-06-24 17:37:27 來源:網(wǎng)絡(luò) 閱讀:488 作者:蝸牛oscersong 欄目:開發(fā)技術(shù)

一.(1)事件源(事件目標(biāo)):在哪個組件上發(fā)生的事件,也就是發(fā)生事件的作用體或與之相關(guān)的對象。任何元素,body,html元素等等,都可以作為事件源。

2)事件:事件就是用戶或瀏覽器自身執(zhí)行的某種動作。比如:click,load,等等都是事件的名字。

3)事件類型:表單事件,window事件,鼠標(biāo)事件,鍵盤事件等。

  常用表單事件:

        focus(不冒泡,IEES5支持冒泡的focusin) 焦點事件,blur(不冒泡,IEES5支持冒泡的focusout) 失去焦點事件,submit  提交事件,change 改變事件,input  文本輸入事件;

  常用的window事件:

        load 加載事件 ,unload 關(guān)閉事件,beforeunload 關(guān)閉之前的事件。DOMContentLoaded,它在DOM加載之后及資源加載之前被觸發(fā)事件。 readyStatechage  當(dāng)頁面加載狀態(tài)改變事件

   常用的鼠標(biāo)事件:

       click  單擊事件,dbclick 雙擊事件,textcontentmenu 文本菜單事件,mouseover 鼠標(biāo)放上事件,mouseout 鼠標(biāo)離開事件,mousedown 鼠標(biāo)按下事件,mouseup 鼠標(biāo)抬起事件,mousemove 鼠標(biāo)移動事件,mouseenter  鼠標(biāo)移入事件,mouseleave 鼠標(biāo)移除事件

  常用鍵盤事件:

      keypress   鍵盤事件,keyup 鍵盤抬起事件, keydown 鍵盤按下事件,

4)事件傳播:指瀏覽器決定哪個對象觸發(fā)其事件處理程序的過程。

5)事件流:指的是從頁面接收事件的順序,IE的事件流是事件冒泡流,而Netscape Communication的事件流是事件捕獲流。事件在DOM中傳播的順序有兩種類型:事件捕獲和事件冒泡。

(6)DOM2級事件標(biāo)準(zhǔn)規(guī)定了事件流包括三個階段:事件捕獲階段,處于目標(biāo)階段,事件冒泡階段。在DOM2級事件模型中,一旦事件被觸發(fā),事件流首先從DOM樹頂部(文檔節(jié)點)向下傳播,直到目標(biāo)節(jié)點,然后再從目標(biāo)節(jié)點向上傳播到DOM樹頂。從上到下的過程被稱為捕獲階段(該階段包括從文檔目標(biāo)節(jié)點的父節(jié)點范圍內(nèi)的所有節(jié)點,從下到上的過程被稱為冒泡階段,包括從目標(biāo)節(jié)點的父節(jié)點返回到文檔的行程中遇到的節(jié)點(即就是事件開始由文檔中嵌套層次最深的那個具體的元素節(jié)點接收,然后逐漸向上級傳播到較不具體的節(jié)點)。如圖

    js 事件學(xué)習(xí)與總結(jié)

 

  第一部分稱為捕獲階段,捕獲階段的主要任務(wù)是建立傳播路徑,在冒泡階段,事件會通過這個路徑回溯到文檔跟節(jié)點。第二部分稱為目標(biāo)階段,該階段僅包括目標(biāo)節(jié)點(圖中的div節(jié)點),事件在目標(biāo)節(jié)點上被觸發(fā)。第三部分稱為冒泡階段事件在目標(biāo)元素上觸發(fā)后,并不在這個元素上終止,同一個事件會依次在目標(biāo)節(jié)點的父節(jié)點,父節(jié)點的父節(jié)點...直到最外層的節(jié)點上被觸發(fā)。舉一個例子,來說明事件流的三個階段:如圖

  js 事件學(xué)習(xí)與總結(jié)

      當(dāng)點擊最里層的span元素時,事件流首先從DOM樹頂部(文檔節(jié)點)向下傳播,直到目標(biāo)節(jié)點(如上圖例中的span元素),然后再從目標(biāo)節(jié)點向上傳播到DOM樹頂。從上到下的這個搜索dom樹的過程,就是捕獲階段,而從下到上的span元素被選中,一直彈出對話框html元素被選中,這就是同一個事件的冒泡過程被稱為冒泡階段,也就是事件在目標(biāo)元素上觸發(fā)后,并不在這個元素上終止,會一直向上冒泡,直到最外層的節(jié)點上

   不過,并非每個事件對象都參與事件流的所有三個階段。而對于事件冒泡,在必要的時候還是需要相應(yīng)的處理,這兩個問題后期再繼續(xù)學(xué)習(xí)研究。  

7)事件處理程序(事件監(jiān)聽程序):處理或者響應(yīng)事件的函數(shù)。事件處理程序的名字以on開開頭,比如click事件的處理程序就是onclick,

8)事件對象(event:是與特定事件相關(guān)且包含有關(guān)該事件詳細(xì)信息的對象。事件對象作為參數(shù)傳遞給事件處理程序函數(shù)。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI