8
votes

Comment tirer la fenêtre.

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);


4 commentaires

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 (); parce que JQuery a sa propre abstraction d'événement. Ne cherte pas quelque chose de similaire que vous pouvez utiliser?


Attendez, Pourquoi ne pouvez-vous pas simplement faire window.onresize () ?


TypeError: window.onResize n'est pas une fonction


@sdleihssirhc Cela ne fonctionnerait que si vous attachez l'événement de la manière DOM0.


3 Réponses :


26
votes

Vous créez un mauvais événement.

redize est une uservent, Lisez les spécifications ici

Vous devez le faire: xxx

le voir en action ici: Http://jsfiddle.net/9HSBA/


3 commentaires

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.



3
votes

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 ... xxx

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.


0 commentaires

3
votes

Si createeeventer pourrait obtenir déprécié en faveur de Custmvert , voici un extrait similaire à l'aide de l'API CustoMvents: < Pré> xxx


0 commentaires