How to trigger a window resize event using javascript?

I am trying to trigger a resize event using simple js for testing purposes, but window.resizeTo()they window.resizeBy()do not fire the event according to modern browsers to prevent these actions. I tried jquery $(window).trigger('resize');, but it only works for events that are linked through jquery as $(window).on('resize', handler);. however, in my case, the project I'm working on uses simple javascript.

Example

window.addEventListener('resize', function(){
    console.log('window has been resized !');
});

// or even using global onresize
window.onresize = function() {
    console.log('window has been resized!');
};
+4
source share
1 answer

, , , - jquery:

IE9 +

native

// For a full list of event types: https://developer.mozilla.org/en-US/docs/Web/API/document.createEvent
var event = document.createEvent('HTMLEvents');
event.initEvent('resize', true, false);
el.dispatchEvent(event);

if (window.CustomEvent) {
  var event = new CustomEvent('my-event', {detail: {some: 'data'}});
} else {
  var event = document.createEvent('CustomEvent');
  event.initCustomEvent('my-event', true, true, {some: 'data'});
}

el.dispatchEvent(event);
+9

Source: https://habr.com/ru/post/1653055/


All Articles