千鋒教育JavaScript全套視頻教程(10天學(xué)會(huì)Js,前端javascrip

瀏覽器的默認(rèn)行為
當(dāng)一個(gè)事件觸發(fā)時(shí),沒(méi)有自定義的事件處理函數(shù)。而默認(rèn)出現(xiàn)的效果,稱(chēng)為默認(rèn)行為。
JavaScript 事件本身所具有的屬性,例如 a 標(biāo)簽的跳轉(zhuǎn),Submit 按鈕的提交,右鍵菜單,文本框的輸入等。
阻止默認(rèn)行為的方式
針對(duì)現(xiàn)代瀏覽器 e.preventDefault(),
IE 則是使用 e.returnValue = false;
無(wú)兼容性問(wèn)題需注意寫(xiě)在事件處理函數(shù)最后: return false;
阻止默認(rèn)行為之表單提交
阻止默認(rèn)行為之右鍵菜單
先把默認(rèn)右菜單阻止掉,然后又自定義菜單
DOM2 級(jí)事件處理程序
添加事件監(jiān)聽(tīng)器:
添事件的方式有兩種:
1普通添加 :domobj.onEventName=fn
2事件監(jiān)聽(tīng)器 addEventListener('事件名',“事件處理函數(shù)”,“布爾值”)第三個(gè)事件可以省略,一般用表示冒泡還是捕獲。默認(rèn)是冒泡
ele.addEventListener(事件名,處理函數(shù),布爾值)
利用事件監(jiān)聽(tīng)器可以同時(shí)給同一個(gè)DOM對(duì)象添加多個(gè)相同事件,當(dāng)事件觸發(fā)時(shí),對(duì)應(yīng)的事件函數(shù)依次執(zhí)行,但是普通的添加方式還會(huì)發(fā)生覆蓋
區(qū)別2:事件監(jiān)聽(tīng)器可以實(shí)現(xiàn)捕獲和冒泡,而普通的添加方式只能支持冒泡,
除了添加還有移除
removeEventListener
IE版本的事件名要加on
事件委托
利用事件冒泡的原理,把本應(yīng)添加給某元素上的事件委托給他的父級(jí)(外層)。
目的:效率高,讓新增的DOM對(duì)象具有相同的事件
使用案例如果一個(gè) ul 中有很多 li,循環(huán)遍歷所有的 li,給 li 添加事件效率比較低,我們可以監(jiān)聽(tīng) ul 的點(diǎn)擊事件,利用子元素的點(diǎn)擊事件都會(huì)冒泡到父元素的特點(diǎn),就可以知道什么時(shí)候點(diǎn)擊了 li。
好處:效率高,可以給未來(lái)元素添加事件