事件函數(shù)列表
blur() 元素失去焦點(diǎn)
focus() 元素獲得焦點(diǎn)
change() 表單元素的值發(fā)生變化
click() 鼠標(biāo)單擊
dblclick() 鼠標(biāo)雙擊
mouseover() 鼠標(biāo)進(jìn)入(進(jìn)入子元素也觸發(fā))
mouseout() 鼠標(biāo)離開(kāi)(離開(kāi)子元素也觸發(fā))
mouseenter() 鼠標(biāo)進(jìn)入(進(jìn)入子元素不觸發(fā))
mouseleave() 鼠標(biāo)離開(kāi)(離開(kāi)子元素不觸發(fā))
hover() 同時(shí)為mouseenter和mouseleave事件指定處理函數(shù)
mouseup() 松開(kāi)鼠標(biāo)
mousedown() 按下鼠標(biāo)
mousemove() 鼠標(biāo)在元素內(nèi)部移動(dòng)
keydown() 按下鍵盤
keypress() 按下鍵盤
keyup() 松開(kāi)鍵盤
load() 元素加載完畢
ready() DOM加載完成
resize() 瀏覽器窗口的大小發(fā)生改變
scroll() 滾動(dòng)條的位置發(fā)生變化
select() 用戶選中文本框中的內(nèi)容
submit() 用戶遞交表單
toggle() 根據(jù)鼠標(biāo)點(diǎn)擊的次數(shù),依次運(yùn)行多個(gè)函數(shù)
unload() 用戶離開(kāi)頁(yè)面
事件冒泡
什么是事件冒泡
在一個(gè)對(duì)象上觸發(fā)某類事件(比如單擊onclick事件),如果此對(duì)象定義了此事件的處理程序续镇,那么此事件就會(huì)調(diào)用這個(gè)處理程序,如果沒(méi)有定義此事件處理程序或者事件返回true识虚,那么這個(gè)事件會(huì)向這個(gè)對(duì)象的父級(jí)對(duì)象傳播需纳,從里到外宋欺,直至它被處理(父級(jí)對(duì)象所有同類事件都將被激活)聘裁,或者它到達(dá)了對(duì)象層次的最頂層雪营,即document對(duì)象(有些瀏覽器是window)。
事件冒泡的作用
事件冒泡允許多個(gè)操作被集中處理(把事件處理器添加到一個(gè)父級(jí)元素上衡便,避免把事件處理器添加到多個(gè)子級(jí)元素上)献起,它還可以讓你在對(duì)象層的不同級(jí)別捕獲事件。
阻止事件冒泡
事件冒泡機(jī)制有時(shí)候是不需要的镣陕,需要阻止掉谴餐,通過(guò) event.stopPropagation() 來(lái)阻止.
事件委托
事件委托就是利用冒泡的原理,把事件加到父級(jí)上呆抑,通過(guò)判斷事件來(lái)源的子集总寒,執(zhí)行相應(yīng)的操作,事件委托首先可以極大減少事件綁定次數(shù)理肺,提高性能;其次可以讓新加入的子元素也可以擁有相同的操作善镰。