事件分類:
1、表單事件
Form元素:submit、reset
按鈕類表單元素:click
輸入、選擇框等元素:change
更換焦點:focus、blur,這兩個事件不會冒泡,focusin和focusout可以冒泡
文本輸入表單:input事件,在每次更改文本的時候都會觸發;
2、window事件
這個事件的發生與瀏覽器視窗本身,而非視窗中顯示的任何特定檔案內容有關
Load事件:完全加載的時候觸發,DOMContentLoad和readystatechange是load事件的代替;單個元素也可以使用,例如img
Unload事件:當用戶離開當前檔案,專項其他檔案的時候會觸發,不能取消用戶狀態,另外還有beforeunloaded事件,可以詢問用戶是否確定離開當前頁面的機會
Onerror屬性:當js出錯的時候會觸發。但是他不是真正的事件處理程式。14.6
Abort事件:當網路資源因為用戶停止加載行程而導致失敗就會觸發他。
Focus和blur:當瀏覽器視窗從作業系統中得到或者失去焦點的時候會觸發
Resize:當用戶調整視窗大小
Scroll:當用戶滾動,任何overflow設定為wrap的都可以觸發
3、滑鼠事件
滑鼠事件是可以冒泡的。clientX和clientY屬性指定了滑鼠在視窗坐標的位置,button和which屬性制定了按下的滑鼠鍵是哪一個,當鍵盤的輔助件按下的時候,對應的屬性altkey、ctrlkey、metakey、shiftkey會設定成true;對于click事件detail屬性制定了其實單擊,雙擊,還是三擊。
Mousemove:移動或者拖動滑鼠
Mousedown,mouseup事件:當這兩個事件加入時間佇列之后,還會觸發click事件
Click:dblckick
Mouseover和mouseout:滑鼠懸停和移出事件;對于這兩個事件有一個relatedTarget屬性制定了這個程序涉及到的其他元素,這兩個事件冒泡,為了防止冒泡,還提供了兩個不冒泡的事件mouseenter和mouseleave
Mousewheel(DOMmouseScroll):滑鼠滑輪滾動,傳遞事件物件屬性指定滾輪的大小和方向
4、鍵盤事件
無論任何元素觸發鍵盤事件,傳遞給鍵盤事件的處理程式的事件物件有keycode欄位,他指定按下或者釋放的鍵是哪個。還有altkey、ctrlkey、metakey、shiftkey
Keydown和keyup:在兩個事件之間會產生一個keypress事件,當按下鍵重復產生字符的時候,在keyup之前可能會產生多個keypress事件,他指向產生的字符而非是按下的鍵
5、DOM事件:
推出新的不冒泡事件:focusin、focusout、mouseenter、mouseleave
Mousewheel
Textinput事件,傳遞給其的事件物件不再有難以使用的數字keycode屬性,而是由指定輸入文本字串的data屬性,他也不是鍵盤的特定事件,無論是鍵盤、剪切、粘貼等任何方式都可以觸發,傳遞物件中有inputmethod屬性和一組代表著文本輸入種類的常量
傳遞新的keyboardEvent物件作為引數給keydown、keyup和keypress的事件處理程式來給文本輸入事件提供更好的支持
Wheel事件除了接受普通的滑鼠事件屬性還有deltaX、deltaY和deltaZ屬性來報告三個不同的滑鼠滾軸,
6、HTML5事件:
Audio和video元素
Html5的拖放API允許javascript應用參與基于作業系統的拖放操作實作web和原生應用間的資料傳輸。
Dragstart drag dragend dragenter dragover dragleave drop
其附加屬性dataTransfer有一個datatransfer物件,他包含了關于傳輸的資料和其中可用的格式的資訊。
Html5定義了歷史管理機制,hashchange和popstate。
Html5表達驗證機制,包括驗證失敗的時候會觸發invalid時間。
Html5對離線web應用的支持;offline和online事件,無論何時瀏覽器失去或者得到網路連接都會在window物件觸發他們,標準還定義了大量其他的時間來通知應用下載進度和應用快取更新
Message事件,在接受每一個訊息的時候都會觸發;
Html5還定義了一些不在視窗、檔案和檔案元素的物件上觸發的事件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/82222.html
標籤:Web 開發
上一篇:求助!!Java專案啟動報錯:Failed to parse configuration class
下一篇:創建執行緒
