JSFiddle - React, Tailwind, and code Playground

HTML

<button onclick="triggerEvent();">Trigger</button>

JavaScript

function triggerEvent() {
	var event,
		detail = {
			message: 'Hello World!',
			time: new Date()
		};
	if (typeof CustomEvent === 'function') {
		event = new CustomEvent(
			'test',
			{
				detail: detail,
				bubbles: true,
				cancelable: true
			}
		);
	} else if (typeof document.createEvent === 'function') {
		event = document.createEvent('CustomEvent');
		event.initCustomEvent('test', true, true, detail);
	}
	document.dispatchEvent(event);
}
document.addEventListener('test', function(event) {
	alert(event.detail.message);
}, false);