JS中自定義事件的使用與觸發
阿新 • • 發佈:2020-12-14
原文地址:https://www.cnblogs.com/cangqinglang/p/9746650.html
1.建立事件
var myEvent = new CustomEvent('event_name', { detail:{ // 將需要傳遞的資料寫在detail中,以便在EventListener中獲取 // 資料將會在event.detail中得到 }, });
2.監聽事件
//假設listener註冊在window物件上 window.addEventListener('event_name', function(event){ // 如果是CustomEvent,傳入的資料在event.detail中console.log('得到資料為:', event.detail); // ...後續相關操作 });
3.觸發事件
// 首先需要提前定義好事件,並且註冊相關的EventListener var myEvent = new CustomEvent('event_name', { detail: { title: 'This is title!'}, }); window.addEventListener('event_name', function(event){ console.log('得到標題為:', event.detail.title); });// 隨後在對應的元素上觸發該事件 if(window.dispatchEvent) { window.dispatchEvent(myEvent); } else { window.fireEvent(myEvent); } // 根據listener中的callback函式定義,應當會在console中輸出 "得到標題為: This is title!"