JavaScript自定義事件監聽


一.事件的屬性和方法

 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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM