自定义事件

new Event方式

//定义事件 
let event = new Event('build',{"bubbles":true, "cancelable":false});
或者使用CustomEvent(可以给event添加额外数据)
let event = new CustomEvent('build', { 'detail': elem.dataset.time });
// 监听事件
elem.addEventListener('build', function (e) { ... }, false);
// 分配事件
elem.dispatchEvent(event);

document.createEvent方式

// 创建
var evt = document.createEvent("HTMLEvents");
// 初始化
evt.initEvent("alert", false, false);

el.addEventListener("alert", function() {
    alert("弹弹弹,弹走鱼尾纹~~");
});
// 触发, 即弹出文字
el.dispatchEvent(evt);
原文地址:https://www.cnblogs.com/janas-luo/p/9605796.html