DOM(文檔對象模型)結構是一個樹形結構,當一個HTML元素產生一個事件時,該事件會在元素節點與根節點之間的路徑傳播,路徑所通過的節點都會收到該事件,這個傳播過程可稱爲DOM事件流瀏覽器
兩種事件流bash
<body onclick="bodyClick">
<div onclick="divClick()">
<button onclick="buttonClick()">
<p onclick="pClick()">點擊冒泡/捕獲</p>
</button>
</div>
</body>
複製代碼
阻止事件冒泡函數
element.onclick = f1;
element.onmouseover = f1;
element.onmouseout = f1;
funtion f1(e){
switch(e.type){
case "click": ;break;
case "mouseover": ;break;
case "mouseout": ;break;
}
}
複製代碼
//爲任意一個元素綁定事件:元素,事件類型,命名事件處理函數
function addEventListener(element,type,fn){
if(element.addEventListener){
element.addEventListener(type,fn,false);
}else if(element.attachEvent){
element.attachEvent("on" + type,fn);
}else{
element["on" + type] = fn;
}
}
//爲任意一個元素解綁某個事件:元素,事件類型,命名事件處理函數
function removeEventListener(element,type,fn){
if(element.removeEventListener){
element.removeEventListener(type,fn,flase);
}else if(element.detachEvent){
element.detachEvent("on" + type,fn);
}else{
element["on" + type] = null;
}
}
複製代碼
------------------------------------------------------記錄於 2019.4.17 JavaScript之DOM事件ui