DOM0和DOM2級(jí)事件
事件綁定的兩種方法
DOM0級(jí)事件綁定
curEle.onclick=function(){};
DOM2級(jí)事件綁定
標(biāo)準(zhǔn)瀏覽器:curEle.addEventListener('click',function(){},false)IE6-8:curEle.attachEvent('onclick',function(){})
一、共同的優(yōu)點(diǎn)1、DOM0級(jí)和DOM2級(jí)的共同優(yōu)點(diǎn):能添加多個(gè)事件處理程序,按順序執(zhí)行,HTML事件處理程序無(wú)法做到~
二、區(qū)別2、關(guān)于dom0級(jí)和dom2級(jí)的區(qū)別
DOM0級(jí)事件處理:同時(shí)綁定幾個(gè)不同的事件,
例如在綁定onclick的基礎(chǔ)上,
再綁定一個(gè)onmouseover為按鈕2設(shè)置背景顏色
(這里注意onclick、onmouseover事件不能都設(shè)為alert彈出哦,可能會(huì)有沖突,造成dom0和dom2都不能成功);
但是不能同時(shí)綁定多個(gè)相同的事件,比如onclick;會(huì)覆蓋,只會(huì)執(zhí)行最后一個(gè)的函數(shù);
比如把onclick寫(xiě)在標(biāo)簽內(nèi),就是dom0級(jí)事件,fn和fn1依次執(zhí)行;
第二種獲取元素,綁定onclick事件也是dom0級(jí),第二個(gè)onclick會(huì)覆蓋第一個(gè)onclick,也會(huì)覆蓋行內(nèi)的onclick。
DOM2級(jí)事件處理:優(yōu)點(diǎn):同時(shí)綁定幾個(gè)事件(相同或不同),然后順序執(zhí)行,不會(huì)覆蓋。缺點(diǎn):不具有跨瀏覽器優(yōu)勢(shì).
另外,IE9能兼容dom2
dom2級(jí),不會(huì)覆蓋,會(huì)依次執(zhí)行綁定方法和原生的綁定方法,這就是于dom0級(jí)的區(qū)別之處;
總結(jié)區(qū)別:如果定義了兩個(gè)dom0級(jí)事件,dom0級(jí)事件會(huì)覆蓋;
dom2不會(huì)覆蓋,會(huì)依次執(zhí)行;
dom0和dom2可以共存,不互相覆蓋,但是dom0之間依然會(huì)覆蓋。