J'essaie de déclencher l'événement de redimensionnement sur la fenêtre Programmatiquement:
var evt = document.createEvent('HTMLEvents');
evt.initEvent('resize', true, false);
window.dispatchEvent(evt);
3 Réponses :
Vous créez un mauvais événement.
redize est une uservent, Lisez les spécifications ici p>
Vous devez le faire: p> le voir en action ici:
Cela semble fonctionner sur Jsfiddle, mais lorsque je l'exécute dans la console d'inspecteur WebKit, l'application extjs ne présente pas la mise en page. Rien ne se passe. Sa mise en page si je redimensionniste la fenêtre du navigateur manuellement.
Dans ce cas, ExtJS n'utilise pas les événements DOM Niveau 3 comme vous l'avez dit, mais que je ne connais pas ExtJS, je n'ai aucune idée de la manière dont leur mise en œuvre est.
Je cherchais cette solution pendant un moment et de comprendre pourquoi le redimensionnement () ne fonctionnait pas. Merci beaucoup.
Juste au cas où quelqu'un d'autre en a besoin, dans EXTJS 4.1, vous pouvez faire quelque chose de typiquement inélégant ... pas besoin d'une pièce d'identité sur la fenêtre - The .Query ("Viewport" ) La pièce utilise l'alias de la configuration de la fenêtre de vue. P> p>
Je ne connais pas très bien les extjs, mais à JQuery, il est trivial de déclencher un événement de redimensionnement en faisant
$ (fenêtre) .Resize (); code> parce que JQuery a sa propre abstraction d'événement. Ne cherte pas quelque chose de similaire que vous pouvez utiliser?Attendez, Pourquoi i> ne pouvez-vous pas simplement faire
window.onresize () code>?TypeError: window.onResize n'est pas une fonction
@sdleihssirhc Cela ne fonctionnerait que si vous attachez l'événement de la manière DOM0.