2010-09-03 4 views
4

J'ajoute de la redimensionnable à plusieurs balises div qui font partie d'une page complexe. Mais le $ (document) .ready() si l'exécution est trop tôt. Tout n'a pas été analysé et la redimensionnable échoue.Ma fonction jQuery ready tire trop tôt ... Ce n'est pas prêt!

Comment faire pour que jQuery attende réellement que le document soit prêt?

J'ai essayé ...

$(document).ready() 
$(document).load() 
$(window).load() 

En ajoutant un bouton temporaire avec le même code que ceux-ci, que je clique après la page est rendue, je reçois la bonne interface utilisateur redimensionnable. J'utilise jQuery v1.4.2 et jQuery UI v1.8.4 avec Firefox 3.6.6.

+0

Quel navigateur utilisez-vous pour le tester? –

+0

@Georg - Firefox 3.5.8 – dacracot

+0

Pourriez-vous poster un code pour nous de regarder? À moins d'une erreur de syntaxe, il n'est tout simplement pas possible que la fonction $ (document) .ready() échoue. – Ender

Répondre

1

stupide devrait faire du mal.

J'ai également eu un événement body onload qui était en cours d'exécution après les événements jQuery mais dont la taille était dépendante.

Réponse: N'utilisez pas les deux méthodes.

1

Mais le $ (document) .ready() si l'exécution est trop précoce. Tout n'a pas été analysé et la redimensionnable échoue.

Cela ne devrait pas être. ready() se déclenche lorsque le DOM a été analysé et rendu. La seule chose qui pourrait encore être chargée est des feuilles de style (ne savent pas quoi faire à propos de ceux-ci) et des images.

Si la taille de votre image dépend de la charge totale des images, utilisez plutôt l'événement load.

+0

Aucune image, juste HTML. – dacracot

+0

Même problème avec $ (document) .load(). – dacracot

+0

@dacracot alors le problème doit être ailleurs. Ces événements sont garantis solides comme tous les navigateurs. Pouvez-vous décrire plus en détail ce qui se passe? –

0

Essayez d'utiliser $(window).load() plutôt que $(document).ready() ... Cela attendra jusqu'à ce que tous les aspects a chargé à la fin ... un peu plus lent, mais devrait repasser votre bug

+0

Même problème avec $ (fenêtre) .load(). – dacracot

+0

Confirmé. '$ (window) .load()' ne fait rien. – IIllIIll

Questions connexes