Document: createEvent() method
    Warning: Many methods used with createEvent, such as initCustomEvent, are deprecated.
    Use event constructors instead.
  
  Creates an event of the type specified. The
  returned object should be first initialized and can then be passed to
  EventTarget.dispatchEvent.
Syntax
js
createEvent(type)
Parameters
Return value
An Event object.
Examples
js
// Create the event.
const event = document.createEvent("Event");
// Define that the event name is 'build'.
event.initEvent("build", true, true);
// Listen for the event.
elem.addEventListener(
  "build",
  (e) => {
    // e.target matches elem
  },
  false,
);
// Target can be any Element or other EventTarget.
elem.dispatchEvent(event);
Notes
  Event type strings suitable for passing to createEvent() are listed in the
  DOM standard — see the table in step 2. Bear in mind that most event objects now have constructors, which
  are the modern recommended way to create event object instances.
Specifications
| Specification | 
|---|
| DOM Standard # dom-document-createevent | 
Browser compatibility
BCD tables only load in the browser