[Web] Front-end actively triggers events

creatEvent —> initEvent —> dispatchEvent

if(el.dispatchEvent){
    
    
    var evt = document.createEvent('Event');
    evt.initEvent(type,true,true);
    el.dispatchEvent(evt);
}else if(el.fireEvent){
    
    
    el.fireEvent('on'+type);
}
  1. createEvent(eventType)
    Parameters: eventType:

    • Events :

      Including all events.

    • HTMLEvents:

      包括 ‘abort’, ‘blur’, ‘change’, ‘error’, focus’, ‘load’, ‘reset’, ‘resize’, ‘scroll’, ‘select’,‘submit’, ‘unload’.

    • UIEevents :

      包括 ‘DOMActivate’, ‘DOMFocusIn’, ‘DOMFocusOut’, ‘keydown’, ‘keypress’, ‘keyup’.

      Indirectly contains MouseEvents.

    • MouseEvents:

      包括 ‘click’, ‘mousedown’, ‘mousemove’, ‘mouseout’, ‘mouseover’, ‘mouseup’.

    • MutationEvents:

      包括 'DOMAttrModified', 'DOMNodeInserted', 'DOMNodeRemoved', 'DOMCharacterDataModified', 'DOMNodeInsertedIntoDocument', 'DOMNodeRemovedFromDocument', 'DOMSubtreeModified'.

  2. initEvent(type, true, true)

    • HTMLEvents and general Events:
      initEvent('type', bubbles, cancelable)
    • UIEvents :
      initUIEvent( ‘type’, bubbles, cancelable, windowObject, detail )
    • MouseEvents:
      initMouseEvent( ‘type’, bubbles, cancelable, windowObject, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget )
    • MutationEvents :
      initMutationEvent( ‘type’, bubbles, cancelable, relatedNode, prevValue, newValue, attrName, attrChange )

Guess you like

Origin blog.csdn.net/qq_16181837/article/details/112369304
Recommended