二.事件
1.事件概述
1)什么是事件:
就是由用戶的操作而引起的js被調(diào)用的時機(jī)
2)事件的分類:
鼠標(biāo)事件
- onclick
- ondblclick
- onmouseover
- onmouserout
……
鍵盤事件 - onkeydown
- onkeyup
……
狀態(tài)事件:(某個條件達(dá)成時自動觸發(fā)) - onload
- onchange
- onblur
……
2.事件定義
1)直接定義事件:
- 直接在元素上通過屬性來定義事件
- 優(yōu)點(diǎn):簡單直觀
- 缺點(diǎn):耦合度高
2)動態(tài)綁定事件
- 在頁面加載后,通過javascript獲取元素并給它綁定事件
- 優(yōu)點(diǎn):耦合度低
- 缺點(diǎn):麻煩,不直觀
、、、
、、、
3.事件對象
1)什么是事件對象:
場景:在開發(fā)某些功能時,可能需要獲取坐標(biāo)、鍵盤、鍵盤的按鈕等信息 ,這些和事件相關(guān)的信息都可以從事件對象中獲取
實(shí)際上,當(dāng)事件觸發(fā)時,瀏覽器會自動創(chuàng)建一個對象,封裝相關(guān)的信息這個封裝事件全部信息的對象叫做事件對象
由瀏覽器創(chuàng)建的封裝事件信息的對象叫事件對象
2)如何獲取事件對象:
直接定義事件時
- 在調(diào)用時傳入?yún)?shù)event
- 函數(shù)上增加參數(shù)接收此值
動態(tài)綁定事件時
- 調(diào)用函數(shù)時,瀏覽器會自動傳入event
- 在函數(shù)上直接加參數(shù)接收
3)事件對象上有哪些API?
4.事件機(jī)制(重點(diǎn))
1)冒泡機(jī)制
- 事件是可以傳播的
- 傳播的順序是是由內(nèi)向外的
-這個規(guī)律叫冒泡機(jī)制
2)取消冒泡機(jī)制
- e.stopPropagation();
- e.cancelBubble = true;
3)作用
- 用來簡化事件的定義
4)事件源
- 當(dāng)采用冒泡機(jī)制簡化事件定義時,需獲取事件
jQuery事件
1、事件概述
1)什么是事件
2)事件的分類
2.事件的定義
- 和javascript一樣
1)直接定義
2)動態(tài)綁定(重點(diǎn))
$(function(){})
- onload