js事件傳遞流程與事件委託

一、js的事件傳遞流程
在這裏插入圖片描述
js的事件傳遞流程有兩個階段第一個是事件捕獲階段,第二個是事件冒泡階段
事件捕獲階段從上到下傳遞事件,事件冒泡階段從下到上傳遞事件。

可以使用addEventListener第三個參數傳入true就可鑑別到事件捕獲階段

domObject.addEventListener(clickevent,function(),true)

默認第三個參數是false,也就監聽的是事件冒泡階段

禁止事件向上冒泡

event.stopPropagation()

阻止默認行爲

event.preventDefault();  event.returnValue = false;  return false;

哪些默認行爲要做阻止

  1.  a標籤鏈接跳轉

  2.  Submit按鈕的提交,

二、js事件委託
js事件委託就是基於事件冒泡傳遞父級dom來處理子級dom事件邏輯
操控子級dom用得是ev.target屬性

父級dom根據子級dom標籤名判斷對應的子級dom事件邏輯的例子

ul.onclick = function(e){//e指event,事件對象
	var target = e.target || e.srcElement; //target獲取觸發事件的目標(li)
	if(target.nodeName.toLowerCase() == 'li'){//目標(li)節點名轉小寫字母,不轉的話是大寫字母
		alert(target.innerHTML)
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章