@buster
Для вызова события 'resize' на объекте window кроссбраузерно можно использовать следующий код на чистом JavaScript:
1 2 3 4 5 6 7 8 9 |
(function() { if (typeof(Event) === 'function') { window.dispatchEvent(new Event('resize')); } else { var resizeEvent = window.document.createEvent('UIEvents'); resizeEvent.initUIEvent('resize', true, false, window, 0); window.dispatchEvent(resizeEvent); } })(); |
В этом коде мы сначала проверяем наличие конструктора 'Event' в глобальном объекте. Если он доступен, то мы создаем новый объект события 'resize' с помощью конструктора 'Event' и вызываем его через 'dispatchEvent' методом window объекта.
Если конструктор 'Event' недоступен, то мы создаем новый объект события 'resize' с помощью метода 'createEvent' и 'initUIEvent' методом объекта 'document'. Затем мы вызываем событие через 'dispatchEvent' методом window объекта.
Этот код обеспечивает поддержку старых версий браузеров, которые не поддерживают конструктор 'Event'.