技術問答
技術文章
iT 徵才
Tag
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
21
0
自我挑戰組
Javascript 犀牛本-濃縮再濃縮 提煉再提煉
系列 第
21
篇
Day 21: 事件處理 (Part 1)
11th鐵人賽
javascript
javascript 大全
7ackson
2019-10-07 22:07:33
1109 瀏覽
分享至
事件類型
表單事件
表單在送出時會發出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
組
累計文章數
9884
篇
完賽人數
97
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
17th鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
熱門問題
Esxi 8.0版本上的虛擬機器, 安裝的作業系統是Windows Server 2025, 確定輸入的密碼是正確的, 無法登入(顯示密碼錯誤)
想請教如何定義資料庫的Primary Key
【求助】顯卡/主板 支援 PCIe4.0 為何 Host to Device (H2D) 只剩 Gen1 速度 (0.5 GB/s) ?
請問今天鐵人賽的發文系統是否故障?
Windows GPO Bitlocker
HP iLo Advanced trial license
在線求大神,千奧軟體主機怎麼安裝
Docker Compose 建立 GitLab 容器,執行器 Runner 運行流水線問題
windows server無法使用gpedit.msc
Java證照題目(main() method)
熱門回答
Esxi 8.0版本上的虛擬機器, 安裝的作業系統是Windows Server 2025, 確定輸入的密碼是正確的, 無法登入(顯示密碼錯誤)
想請教如何定義資料庫的Primary Key
Windows GPO Bitlocker
【求助】顯卡/主板 支援 PCIe4.0 為何 Host to Device (H2D) 只剩 Gen1 速度 (0.5 GB/s) ?
windows server無法使用gpedit.msc
熱門文章
[為你自己學 Gemini CLI ... 的原始碼] 第 2 天,主程式裡的 Hello Kitty!
[為你自己學 n8n] 第 2 天,挑個風水寶地,養你的自動化小精靈!
第30天,完賽心得 / 葉家藥燉排骨 在地排隊美食(新北板橋)| 30天滷肉飯
第29天,員工設備管理 / 一品滷肉飯 好好吃(台北中山)| 30天滷肉飯
[為你自己學 n8n] 第 3 天,打開控制台,認識你的自動化駕駛艙!
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}