1.什么是事件委派至会?如何實(shí)現(xiàn)事件委派帅矗?
答:事件委派是利用冒泡原理,給父元素綁定事件奖慌,讓其子元素執(zhí)行扮宠。
實(shí)例:u1.onclick = function(event){
event = event || window.event;
//如果觸發(fā)事件的對(duì)象是我們期望的元素西乖,則執(zhí)行否則不執(zhí)行
if(event.target.className == "link"){
alert("我是ul的單擊響應(yīng)函數(shù)");
}
};
};
2.事件委派與事件綁定的區(qū)別?
答:事件綁定:需要一個(gè)元素一個(gè)元素的來(lái)綁定事件坛增,而然動(dòng)態(tài)添加的元素想要綁定事件就會(huì)很麻煩获雕。
然而事件委托就很好的解決了這個(gè)難題,它只需要給父元素綁定事件讓子元素執(zhí)行收捣,節(jié)省了我們的開(kāi)發(fā)速度典鸡,動(dòng)態(tài)添加上去的元素也會(huì)繼承次此事件。
3.事件委派的作用能給我們頁(yè)面帶來(lái)什么好處坏晦?
答:1.不需要為每一個(gè)元素都添加監(jiān)聽(tīng)事件,還能為動(dòng)態(tài)添加的元素添加事件。
2.占用內(nèi)存小嫁乘,
3.減少了DOM操作昆婿,極大地改善了代碼性能。
4.事件傳播{
1.什么是事件傳播蜓斧。
答:1.事件冒泡仓蛆。 原理:從中心元素向祖先元素一級(jí)一級(jí)觸發(fā)事件
2.事件捕獲。 原理:從祖先元素向子元素一級(jí)一級(jí)觸發(fā)事件
2.事件傳播的幾個(gè)階段挎春。
1.捕獲階段:事件從根節(jié)點(diǎn)開(kāi)始看疙,逐級(jí)派送到子節(jié)點(diǎn),若節(jié)點(diǎn)綁定了事件動(dòng)作直奋,則執(zhí)行動(dòng)作能庆,然后繼續(xù)走,這個(gè)階段稱為“捕獲階段(Capture)”脚线;
2.目標(biāo)階段:找到目標(biāo)元素事件后搁胆,開(kāi)始觸發(fā)目標(biāo)元素事件。
3.冒泡階段:執(zhí)行完目標(biāo)階段后邮绿,事件由子節(jié)點(diǎn)往根節(jié)點(diǎn)派送渠旁,若節(jié)點(diǎn)綁定了事件動(dòng)作,則執(zhí)行動(dòng)作船逮,然后繼續(xù)走顾腊,這個(gè)階段稱為“冒泡階段(Bubble)”
}