1. 程式人生 > 實用技巧 >JS中自定義事件的使用與觸發

JS中自定義事件的使用與觸發

原文地址: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!"