技術問答
技術文章
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
21
0
自我挑戰組
Javascript 犀牛本-濃縮再濃縮 提煉再提煉
系列 第
21
篇
Day 21: 事件處理 (Part 1)
11th鐵人賽
javascript
javascript 大全
7ackson
2019-10-07 22:07:33
1177 瀏覽
分享至
事件類型
表單事件
表單在送出時會發出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鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19860
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
趣味SQL,在資料庫查詢功能樹狀圖用畫線方式來表示(AI解題+再次修正線條符合版+註解說明)
趣味SQL,在資料庫查詢功能樹狀圖顯示(更新:AI解題)
趣味SQL 260301 來走迷宮
Macbook OpenVPN Connect在外面無法連線
請推薦 虛擬主機 VPS,及Apache SSL 設定
VMware vSphere 的 ESXi 主機憑證(Host CA/SSL Certificate)更新
Workflow ERP 料/工/費 問題:多階產品成本結構分析表
熱門回答
Workflow ERP 料/工/費 問題:多階產品成本結構分析表
請推薦 虛擬主機 VPS,及Apache SSL 設定
熱門文章
【演算法新手村】[初階]筆記06 - 差分(一維)
[SRE×AI #07] SRE 的 Prompt 工程:怎麼讓 AI 按照你的方式調查
中華電信近期發生問題,MSA可以收信不能發信
AI 軌道分離技術 vs. 傳統音訊處理:音樂創作者的效率革命
趣味SQL,在資料庫查詢功能樹狀圖用畫線方式來表示
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}