UNPKG

@ryusei/code

Version:

<div align="center"> <a href="https://code.ryuseijs.com"> <img alt="RyuseiCode" src="https://code.ryuseijs.com/images/svg/logo.svg" width="70"> </a>

23 lines (18 loc) 648 B
import { isFunction } from '../../type/type'; /** * Dispatches a custom event to the provided element, window or document. * * @param elm - A target element where a custom event is triggered. * @param event - An event name. */ export function emit( elm: Element | Window | Document, event: string ): void { let e: CustomEvent; if ( isFunction( window.CustomEvent ) ) { e = new CustomEvent( event, { bubbles: true, cancelable: true } ); } else { // IE doesn't support a CustomEvent constructor. e = document.createEvent( 'CustomEvent' ); e.initCustomEvent( event, true, true, null ); } elm.dispatchEvent( e ); }