Skip to content

Instantly share code, notes, and snippets.

@darthmaim
Created August 20, 2015 09:27
Show Gist options
  • Select an option

  • Save darthmaim/724148f6ce87b49f55d8 to your computer and use it in GitHub Desktop.

Select an option

Save darthmaim/724148f6ce87b49f55d8 to your computer and use it in GitHub Desktop.
Trigger native javascript event
function triggerNativeEvent( element, eventName ) {
// check if element is a jQuery object
if( element instanceof $ ) {
element = element[0];
}
// trigger event
if( element.dispatchEvent ) {
var event = document.createEvent( 'Events' );
event.initEvent( eventName, true, false );
element.dispatchEvent( event );
} else if( element.fireEvent ) {
element.fireEvent( 'on' + eventName );
} else if( element[ eventName ] ) {
element[ eventName ]();
} else if( element[ 'on' + eventName ] ) {
element[ 'on' + eventName ]();
}
}
@arniebradfo
Copy link
Copy Markdown

arniebradfo commented Sep 15, 2021

wow

So many React elements listen to the window resize event (via useEffect).
You can force them all to update by triggering a window resize with:

const event = document.createEvent( 'Event' );
event.initEvent( 'resize', true, false );
document.dispatchEvent( event );

This just saved me. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment