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