let myEvent = new CustomEvent("newMessage
", { detail: { message
: "davidwalsh" }, bubbles: true, cancelable: false })
自定义userLogin事件,这个浏览器自带的click事件是一样的,我们也可以这样使用浏览器自带的所有事件;
detail 是要传递的数据;bubbles 如果为 true,事件将冒泡到触发事件的元素的祖先。 cancelable 如果为 true,可以使用事件对象的 stopPropagation() 方法取消事件传播。
element(你想要给哪个元素绑定这个自定义事件).dispatchEvent(myEvent
); (触发这个自定义事件)
接下来我们就要监听这个自定义事件
document.addEventListener("newMessage",newMessageHandler);
function newMessageHandler(e) { console.log(`Event subscriber on ${e.currentTarget.nodeName}, message: ${e.detail.message}`); }
这个是别人写的例子更详细:https://www.jianshu.com/p/71bb3cf19095