Come attivare l'evento di ridimensionamento della finestra in JavaScript?


Answers

window.dispatchEvent(new Event('resize'));
Question

Ho registrato un trigger sul ridimensionamento della finestra. Voglio sapere come posso far scattare l'evento per essere chiamato. Ad esempio, quando nascondi un div, voglio che venga richiamata la mia funzione di trigger.

Ho trovato window.resizeTo() può attivare la funzione, ma c'è qualche altra soluzione?




In realtà non ero in grado di farlo funzionare con nessuna delle soluzioni di cui sopra. Una volta associato l'evento con jQuery, ha funzionato correttamente come di seguito:

$(window).bind('resize', function () {
    resizeElements();
}).trigger('resize');



Un JS puro che funziona anche su IE (dal commento di @Manfred )

var evt = window.document.createEvent('UIEvents'); 
evt.initUIEvent('resize', true, false, window, 0); 
window.dispatchEvent(evt);

O per angolare:

$timeout(function() {
    var evt = $window.document.createEvent('UIEvents'); 
    evt.initUIEvent('resize', true, false, $window, 0); 
    $window.dispatchEvent(evt);
});



window.resizeBy() attiverà l'evento onresize della finestra. Funziona sia in Javascript che in VBScript .

window.resizeBy(xDelta, yDelta) chiamato window.resizeBy(-200, -200) per ridurre la pagina 200px di 200px.