[
  {
    "name": "abort",
    "category": "resource",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when a resource load has been aborted (e.g. the user cancelled it)."
  },
  {
    "name": "animationcancel",
    "category": "animation",
    "interface": "AnimationEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when a CSS animation unexpectedly aborts, i.e. any time it stops running without sending an animationend event."
  },
  {
    "name": "animationend",
    "category": "animation",
    "interface": "AnimationEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when a CSS animation has completed one cycle."
  },
  {
    "name": "animationiteration",
    "category": "animation",
    "interface": "AnimationEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when an iteration of a CSS animation ends and a new iteration begins."
  },
  {
    "name": "animationstart",
    "category": "animation",
    "interface": "AnimationEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when a CSS animation has started."
  },
  {
    "name": "auxclick",
    "category": "mouse",
    "interface": "PointerEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a non-primary pointer button (e.g. middle or right mouse button) has been pressed and released on an element."
  },
  {
    "name": "beforeinput",
    "category": "form",
    "interface": "InputEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when the value of an input, select, or textarea element is about to be modified."
  },
  {
    "name": "beforeunload",
    "category": "window",
    "interface": "BeforeUnloadEvent",
    "bubbles": false,
    "cancelable": true,
    "description": "Fired when the window, the document and its resources are about to be unloaded. The document is still visible and the event is still cancelable."
  },
  {
    "name": "blur",
    "category": "focus",
    "interface": "FocusEvent",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when an element has lost focus. Unlike focusout, this event does not bubble."
  },
  {
    "name": "canplay",
    "category": "media",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the browser can start playing the media, though it estimates not enough data has been loaded to play through to the end without buffering."
  },
  {
    "name": "canplaythrough",
    "category": "media",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the browser estimates it can play the media through to the end without stopping for buffering."
  },
  {
    "name": "change",
    "category": "form",
    "interface": "Event",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when the value of an input, select, or textarea element has been changed and committed (e.g. on blur or pressing Enter)."
  },
  {
    "name": "click",
    "category": "mouse",
    "interface": "PointerEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a pointing device button (usually the primary mouse button) is pressed and released on a single element."
  },
  {
    "name": "close",
    "category": "window",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired on a WebSocket or HTMLDialogElement when the connection is closed or the dialog is closed."
  },
  {
    "name": "compositionend",
    "category": "keyboard",
    "interface": "CompositionEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when a text composition session ends (e.g. when an IME finishes composing text)."
  },
  {
    "name": "compositionstart",
    "category": "keyboard",
    "interface": "CompositionEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a text composition session starts (e.g. when an IME begins composing text)."
  },
  {
    "name": "compositionupdate",
    "category": "keyboard",
    "interface": "CompositionEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when a character is added, removed, or modified in a text composition session."
  },
  {
    "name": "contextmenu",
    "category": "mouse",
    "interface": "PointerEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when the user right-clicks on an element to open the context menu."
  },
  {
    "name": "copy",
    "category": "clipboard",
    "interface": "ClipboardEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when the user initiates a copy action via the browser UI or keyboard shortcut."
  },
  {
    "name": "cut",
    "category": "clipboard",
    "interface": "ClipboardEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when the user initiates a cut action via the browser UI or keyboard shortcut."
  },
  {
    "name": "dblclick",
    "category": "mouse",
    "interface": "MouseEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a pointing device button is clicked twice on the same element."
  },
  {
    "name": "devicemotion",
    "category": "device",
    "interface": "DeviceMotionEvent",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired at a regular interval, indicating the amount of physical force of acceleration the device is receiving and the rate of rotation."
  },
  {
    "name": "deviceorientation",
    "category": "device",
    "interface": "DeviceOrientationEvent",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when fresh data is available from an orientation sensor about the current orientation of the device as compared to the Earth coordinate frame."
  },
  {
    "name": "DOMContentLoaded",
    "category": "window",
    "interface": "Event",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired at the Document when the HTML has been fully parsed and deferred scripts have run, without waiting for stylesheets, images, or subframes to finish loading."
  },
  {
    "name": "drag",
    "category": "drag",
    "interface": "DragEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired every few hundred milliseconds as an element or text selection is being dragged by the user."
  },
  {
    "name": "dragend",
    "category": "drag",
    "interface": "DragEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when a drag operation ends (e.g. by releasing a mouse button or pressing Escape)."
  },
  {
    "name": "dragenter",
    "category": "drag",
    "interface": "DragEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a dragged element or text selection enters a valid drop target."
  },
  {
    "name": "dragleave",
    "category": "drag",
    "interface": "DragEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when a dragged element or text selection leaves a valid drop target."
  },
  {
    "name": "dragover",
    "category": "drag",
    "interface": "DragEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when an element or text selection is being dragged over a valid drop target (fires every few hundred ms)."
  },
  {
    "name": "dragstart",
    "category": "drag",
    "interface": "DragEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when the user starts dragging an element or text selection."
  },
  {
    "name": "drop",
    "category": "drag",
    "interface": "DragEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when an element or text selection is dropped on a valid drop target."
  },
  {
    "name": "durationchange",
    "category": "media",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the duration attribute of a media element has been updated."
  },
  {
    "name": "emptied",
    "category": "media",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the media becomes empty, for example when the media has already been loaded (or partially loaded) and the load() method is called to reload it."
  },
  {
    "name": "ended",
    "category": "media",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when playback or streaming has stopped because the end of the media was reached or no further data is available."
  },
  {
    "name": "error",
    "category": "resource",
    "interface": "ErrorEvent",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when a resource failed to load, or when a script error occurs."
  },
  {
    "name": "focus",
    "category": "focus",
    "interface": "FocusEvent",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when an element has received focus. Unlike focusin, this event does not bubble."
  },
  {
    "name": "focusin",
    "category": "focus",
    "interface": "FocusEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when an element is about to receive focus. Unlike focus, this event bubbles."
  },
  {
    "name": "focusout",
    "category": "focus",
    "interface": "FocusEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when an element is about to lose focus. Unlike blur, this event bubbles."
  },
  {
    "name": "fullscreenchange",
    "category": "window",
    "interface": "Event",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when an element transitions into or out of full-screen mode."
  },
  {
    "name": "fullscreenerror",
    "category": "window",
    "interface": "Event",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when an error occurs while attempting to switch an element to full-screen mode."
  },
  {
    "name": "gotpointercapture",
    "category": "pointer",
    "interface": "PointerEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when an element captures a pointer using setPointerCapture()."
  },
  {
    "name": "hashchange",
    "category": "window",
    "interface": "HashChangeEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when the fragment identifier of the URL has changed (the part of the URL beginning with and following the # symbol)."
  },
  {
    "name": "input",
    "category": "form",
    "interface": "InputEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when the value of an input, select, or textarea element has been changed."
  },
  {
    "name": "invalid",
    "category": "form",
    "interface": "Event",
    "bubbles": false,
    "cancelable": true,
    "description": "Fired when a submittable element has been checked for validity and does not satisfy its constraints."
  },
  {
    "name": "keydown",
    "category": "keyboard",
    "interface": "KeyboardEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a key is pressed down."
  },
  {
    "name": "keypress",
    "category": "keyboard",
    "interface": "KeyboardEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a key that produces a character value is pressed down. Deprecated; use keydown instead."
  },
  {
    "name": "keyup",
    "category": "keyboard",
    "interface": "KeyboardEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a key is released."
  },
  {
    "name": "load",
    "category": "resource",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the whole page has loaded, including all dependent resources such as stylesheets and images."
  },
  {
    "name": "loadeddata",
    "category": "media",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the first frame of the media has finished loading."
  },
  {
    "name": "loadedmetadata",
    "category": "media",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the metadata (duration, dimensions, etc.) of a media resource has been loaded."
  },
  {
    "name": "loadstart",
    "category": "resource",
    "interface": "ProgressEvent",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the browser has started to load a resource."
  },
  {
    "name": "lostpointercapture",
    "category": "pointer",
    "interface": "PointerEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when a captured pointer is released."
  },
  {
    "name": "message",
    "category": "window",
    "interface": "MessageEvent",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when a message is received from a worker, WebSocket, or window (via postMessage)."
  },
  {
    "name": "mousedown",
    "category": "mouse",
    "interface": "MouseEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a pointing device button is pressed on an element."
  },
  {
    "name": "mouseenter",
    "category": "mouse",
    "interface": "MouseEvent",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when a pointing device is moved onto the element that has the listener attached. Does not bubble."
  },
  {
    "name": "mouseleave",
    "category": "mouse",
    "interface": "MouseEvent",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when a pointing device is moved out of the element that has the listener attached. Does not bubble."
  },
  {
    "name": "mousemove",
    "category": "mouse",
    "interface": "MouseEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a pointing device (usually a mouse) is moved while over an element."
  },
  {
    "name": "mouseout",
    "category": "mouse",
    "interface": "MouseEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a pointing device is moved off the element to which the listener is attached or off one of its children."
  },
  {
    "name": "mouseover",
    "category": "mouse",
    "interface": "MouseEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a pointing device is moved onto the element to which the listener is attached or onto one of its children."
  },
  {
    "name": "mouseup",
    "category": "mouse",
    "interface": "MouseEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a pointing device button is released over an element."
  },
  {
    "name": "offline",
    "category": "window",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the browser has lost access to the network and navigator.onLine changes to false."
  },
  {
    "name": "online",
    "category": "window",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the browser has gained access to the network and navigator.onLine changes to true."
  },
  {
    "name": "open",
    "category": "window",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when a connection is opened on a WebSocket or EventSource."
  },
  {
    "name": "pagehide",
    "category": "window",
    "interface": "PageTransitionEvent",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the browser hides the current page in the process of presenting a different page from the session's history."
  },
  {
    "name": "pageshow",
    "category": "window",
    "interface": "PageTransitionEvent",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the browser makes the page visible, either on initial load or when retrieved from the back-forward cache."
  },
  {
    "name": "paste",
    "category": "clipboard",
    "interface": "ClipboardEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when the user initiates a paste action via the browser UI or keyboard shortcut."
  },
  {
    "name": "pause",
    "category": "media",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when media playback has been paused."
  },
  {
    "name": "play",
    "category": "media",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when media playback is ready to start after having been paused or stopped for buffering."
  },
  {
    "name": "playing",
    "category": "media",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when playback is ready to start after having been paused or delayed due to lack of data."
  },
  {
    "name": "pointercancel",
    "category": "pointer",
    "interface": "PointerEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when the browser determines that there are unlikely to be any more pointer events, or if an in-progress pointerdown event is cancelled."
  },
  {
    "name": "pointerdown",
    "category": "pointer",
    "interface": "PointerEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a pointer becomes active (e.g. a mouse button is pressed, a touch contact is made, or a stylus touches the screen)."
  },
  {
    "name": "pointerenter",
    "category": "pointer",
    "interface": "PointerEvent",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when a pointer is moved into the hit test boundaries of an element or one of its descendants."
  },
  {
    "name": "pointerleave",
    "category": "pointer",
    "interface": "PointerEvent",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when a pointer is moved out of the hit test boundaries of an element."
  },
  {
    "name": "pointermove",
    "category": "pointer",
    "interface": "PointerEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a pointer changes coordinates."
  },
  {
    "name": "pointerout",
    "category": "pointer",
    "interface": "PointerEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a pointer is moved out of the hit test boundaries of an element (among other reasons)."
  },
  {
    "name": "pointerover",
    "category": "pointer",
    "interface": "PointerEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a pointer is moved into an element's hit test boundaries."
  },
  {
    "name": "pointerup",
    "category": "pointer",
    "interface": "PointerEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a pointer is no longer active (e.g. a mouse button is released, a touch contact ends)."
  },
  {
    "name": "popstate",
    "category": "window",
    "interface": "PopStateEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when the active history entry changes while the user navigates the session history."
  },
  {
    "name": "progress",
    "category": "resource",
    "interface": "ProgressEvent",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired periodically when a request receives more data."
  },
  {
    "name": "ratechange",
    "category": "media",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the playback rate has changed."
  },
  {
    "name": "reset",
    "category": "form",
    "interface": "Event",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a form's reset button is clicked or form.reset() is called."
  },
  {
    "name": "resize",
    "category": "window",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the document view (window) has been resized."
  },
  {
    "name": "scroll",
    "category": "window",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the document view or an element has been scrolled."
  },
  {
    "name": "scrollend",
    "category": "window",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the document view or an element has finished scrolling."
  },
  {
    "name": "seeked",
    "category": "media",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when a seek operation on a media element completes."
  },
  {
    "name": "seeking",
    "category": "media",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when a seek operation on a media element begins."
  },
  {
    "name": "select",
    "category": "form",
    "interface": "Event",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when some text has been selected in an input or textarea element."
  },
  {
    "name": "selectionchange",
    "category": "form",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the current text selection on a document is changed."
  },
  {
    "name": "selectstart",
    "category": "form",
    "interface": "Event",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when the user begins a new text selection."
  },
  {
    "name": "slotchange",
    "category": "dom",
    "interface": "Event",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired on an HTMLSlotElement when the nodes assigned to a slot change."
  },
  {
    "name": "stalled",
    "category": "media",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the user agent is trying to fetch media data but data is unexpectedly not available."
  },
  {
    "name": "storage",
    "category": "window",
    "interface": "StorageEvent",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when a storage area (localStorage or sessionStorage) has been modified in the context of another document."
  },
  {
    "name": "submit",
    "category": "form",
    "interface": "SubmitEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when the user clicks a submit button or presses Enter in a form field, before the form is submitted."
  },
  {
    "name": "suspend",
    "category": "media",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when media data loading has been suspended (paused) before loading is complete."
  },
  {
    "name": "timeupdate",
    "category": "media",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the currentTime attribute of a media element has been updated."
  },
  {
    "name": "toggle",
    "category": "dom",
    "interface": "ToggleEvent",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the open/closed state of a details or popover element is toggled."
  },
  {
    "name": "touchcancel",
    "category": "touch",
    "interface": "TouchEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when one or more touch points have been disrupted in an implementation-specific manner (e.g. too many touch points)."
  },
  {
    "name": "touchend",
    "category": "touch",
    "interface": "TouchEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when one or more touch points are removed from the touch surface."
  },
  {
    "name": "touchmove",
    "category": "touch",
    "interface": "TouchEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when one or more touch points are moved along the touch surface."
  },
  {
    "name": "touchstart",
    "category": "touch",
    "interface": "TouchEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when one or more touch points are placed on the touch surface."
  },
  {
    "name": "transitioncancel",
    "category": "animation",
    "interface": "TransitionEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when a CSS transition is cancelled."
  },
  {
    "name": "transitionend",
    "category": "animation",
    "interface": "TransitionEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when a CSS transition has completed."
  },
  {
    "name": "transitionrun",
    "category": "animation",
    "interface": "TransitionEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when a CSS transition is first created, before any transition-delay has begun."
  },
  {
    "name": "transitionstart",
    "category": "animation",
    "interface": "TransitionEvent",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when a CSS transition has actually started (after any transition-delay has elapsed)."
  },
  {
    "name": "unload",
    "category": "window",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the document or a child resource is being unloaded. Deprecated; use pagehide or visibilitychange instead."
  },
  {
    "name": "visibilitychange",
    "category": "window",
    "interface": "Event",
    "bubbles": true,
    "cancelable": false,
    "description": "Fired when the content of a tab has become visible or has been hidden."
  },
  {
    "name": "volumechange",
    "category": "media",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when the volume has changed, or the muted attribute has been toggled."
  },
  {
    "name": "waiting",
    "category": "media",
    "interface": "Event",
    "bubbles": false,
    "cancelable": false,
    "description": "Fired when playback has stopped because of a temporary lack of data."
  },
  {
    "name": "wheel",
    "category": "mouse",
    "interface": "WheelEvent",
    "bubbles": true,
    "cancelable": true,
    "description": "Fired when a wheel button of a pointing device (usually a mouse) is rotated."
  }
]
