一.事件的屬性和方法
1 //事件Event 2 //屬性:` 3 `bubbles`:布爾值,是否會冒泡 4 `cancelable`:布爾值,是否可以取消默認動作 5 `target`:目標對象 6 `currentTarget`:當前對象 7 `timeStamp`:時間戳(相對於某個時刻) 8 `type`:事件類型,即注冊該事件的名字 9 `eventPhase`:返回事件傳播的當前階段 10 11 12 //方法 13 1.event.stopPropagation(); 阻止冒泡 14 15 2.event.preventDefault(); 阻止默認動作,只有cancelable為true時才可以阻止默認動作 16 17 3.event.stopImmediatePropagation(); 阻止事件鏈
二.自定義事件監聽
- CustomEvent:創建事件
-
dispatchEvent:觸發事件
1 <script> 2 3 // 自定義事件 4 var event = new CustomEvent('myTestEvent', { 5 "detail": { //可攜帶額外的數據 6 age: 18 7 }, 8 "bubbles": true,//是否冒泡 回調函數中調用,e.stopPropagation();可以阻止冒泡 9 "cancelable": false,//是否可以取消 為true時,event.preventDefault();才可以阻止默認動作行為 10 }); 11 12 // 綁定監聽事件 13 document.addEventListener('myTestEvent', (e) => { 14 console.log(e); 15 }); 16 17 // 觸發事件 18 setInterval(() => { 19 document.dispatchEvent(event); 20 }, 100); 21 22 </script>