一,DOM事件的級別
? ? 1,DOM0:element.onclick=function(){}
? ? 2,DOM2:element.addEventListener('click',function(){},false)
? ? 3,DOM3:element.addEventListener('keyup',function(){},false),增加了事件類型
二,DOM事件模型
? ? 1,事件捕獲(從上往下)
? ? 2,事件冒泡(當前元素往上)
三,DOM事件流
? ? 1,捕獲階段
? ? 2,目標階段
? ? 3,冒泡過程
四,描述DOM事件捕獲的過程
? ? 1,window
? ? 2,document
? ? 3,html
? ? ? ? 1)js獲取方式:document.documentElement
? ? 4,body
? ? 5,一層一層元素
? ? 6,目標元素
五,Event對象的常見應用
? ? 1,event.preventDafault():阻止默認事件
? ? 2,event.stopPropagation():阻止冒泡行為
? ? 3,event.stopImmediatePropagation():如果同一個元素,綁定多個事件,只要在某個一個事件中寫該方法,就不會執(zhí)行其他事件(方法阻止監(jiān)聽同一事件的其他事件監(jiān)聽器被調(diào)用)
? ? 4,event.currentTarget:標識是當事件沿著 DOM 觸發(fā)時事件的當前目標。它總是指向事件綁定的元素
? ? 5,event.target:事件觸發(fā)的元素
六,自定義事件
? ? 1,示例:var eve = new Event("custome");ev.addEventListener("custome",function(){});ev.dispatchEvent(eve);ev是元素
? ? 2,CustomeEvent,類似Event,不同的是CustomeEvent,可以傳事件名稱和Object參數(shù),Event只能傳事件名稱