技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
21
0
自我挑戰組
Javascript 犀牛本-濃縮再濃縮 提煉再提煉
系列 第
21
篇
Day 21: 事件處理 (Part 1)
11th鐵人賽
javascript
javascript 大全
7ackson
2019-10-07 22:07:33
819 瀏覽
分享至
事件類型
表單事件
表單在送出時會發出submit事件,重置時會發出reset事件。
按鈕類(<button>包含radio、checkbox)點擊時會有click事件。
change事件會在使用者與表單互動完畢,然後轉移焦點至其他元素或按下tab才會觸發。
表單元素會在它們取得或失去鍵盤焦點時發出focus或blur事件。(focus/blur不會有bubble)
window事件
load事件: 當文件和所有資源都已載入完成後,會觸發。(readystatechange與DOMContentLoaded是load事件的替代方法除了外部資源可能未載入完成,但document與元素都以載入完畢就會觸發)
unload事件: 當使用者導覽至其他document離開目前的document觸發。(unload可用來儲存使用者狀態但無法取消導覽,beforeunload類似unload,但它有機會向使用者詢問是否離開的確認)
onerror事件: JavaScript發生錯誤時會被觸發。
focus/blur: 也可用在window物件,當瀏覽器視窗取得或失去焦點時會觸發。
resize / scroll事件
滑鼠事件
傳給滑鼠事件處理器具有一組特性,用來描述滑鼠位置與滑鼠按鍵的狀態。
clientX/clientY表示滑鼠在視窗的座標。
button/which表示按下了哪個滑鼠按鍵。
altKey/ctrlKey/metaKey/shiftKey搭配鍵盤按下鍵盤修飾鍵回傳true。
click事件下,在detail指出單擊或雙擊。
mousemove事件: 移動或拖拉滑鼠時會被觸發。
mousedown/mouseup事件: 滑鼠按下與放開時觸發。
藉由mousemove和mousedown來偵測拖拉動作。
當滑鼠移到元素上方,瀏覽器會在元素上發出mouseover事件,移開時會發出mouseout事件。(mouseover/mouseout會有bubble)
relatedTarget特性: 指出在轉移過程中所涉及的元素。
mousewheel事件: 在滾動滑鼠時觸發。
key事件
瀏覽器取得鍵盤事件。
傳給鍵盤事件處理器的物件裡會有keyCode特性。
鍵盤按下後事件發生順序: keydown->keypress->keyup。
HTML5事件
新增了<audio>和<vidio>元素有一系列的事件(paly/playing/waiting/ended/...)
drag and drop API定義了七個事件(dragstart/drag/dragend/drapenter/dragover/dragleave/drop)
歷史瀏覽管理機制: hashchange和popstate事件。
Html表單定義了表單驗證機制,驗證失敗會發出invaild事件。
觸控與行動裝置事件
touchscreen事件類似滑鼠的click和scroll事件,
apple 產品會有gesture(手勢)、touch(觸碰)事件,旋轉時會有orientationchange事件
留言
追蹤
檢舉
上一篇
Day 20: JavaScript操作CSS
下一篇
Day 22: 事件處理 (Part 2)
系列文
Javascript 犀牛本-濃縮再濃縮 提煉再提煉
共
30
篇
目錄
RSS系列文
訂閱系列文
11
人訂閱
26
Day 26: JavaScript操作媒體與圖形 (Part 2)
27
Day 27: HTML5 API (Part 1)
28
Day 28: HTML5 API (Part 2)
29
Day 29: jQuery (Part 1)
30
Day 30: jQuery (Part 2)
完整目錄
直播研討會
{{ item.subject }}
{{ item.channelVendor }}
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22205
篇
完賽人數
602
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
要怎知道LINE使用者的使用地址
防火牆互通問題
Cisco 防火牆密碼確認正確,可是無法登入
桌面的使用者文件圖標壞掉
函數問題
開啟Microsoft Edge 瀏覽器無法開啟網頁,出現錯誤訊息
一開機就自動鎖定帳戶
bat檔截斷問題
小公司 兩台Win Server執行 AD Server ,更新電腦後,需要再多加一組Linux 作業系統來運行資料庫採集
if函數中的>&<&=是否可以使用儲存格代替
熱門回答
防火牆互通問題
outlook無法收發信
開啟Microsoft Edge 瀏覽器無法開啟網頁,出現錯誤訊息
Palo alto防火牆網頁解密問題?
if函數中的>&<&=是否可以使用儲存格代替
熱門文章
每日一篇學習筆記 直到我做完專題 :( [Day4]
每日一篇學習筆記 直到我做完專題 :( [Day5]
每日一篇學習筆記 直到我做完專題 :( [Day6]
每日一篇學習筆記 直到我做完專題 :( [Day7]
每日一篇學習筆記 直到我做完專題 :( [Day8]
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}