2009-12-01 5 views
0

exécuter Je suis en train d'exécuter une fonction sur un composant lorsque les charges de page. C'est ce que j'ai jusqu'ici.JQuery onLoad

$(document).ready(function() { 
    var $foo = $('#data_lost').hide(); 

    $f = function() { 
    doSomething... 
    }; 

    $foo.change($f); 
}); 

Donc tout cela fonctionne bien et dandy. Voici le problème. J'ai aussi besoin de $ f exécuté sur $ foo quand la page se charge. J'ai essayé de mettre $ foo.ready ($ f), mais cela ne fonctionne pas. J'ai essayé de le définir à l'intérieur et à l'extérieur de document.ready(). Aucune des options ne fonctionne. Je suppose que cela ne fonctionne pas à l'extérieur, car la balise n'existe pas tant que document est prêt, et de le faire à l'intérieur ne fonctionne pas parce que lorsque le document est prêt, l'étiquette est déjà prêt, il a gagné » Je ne serai jamais prêt à nouveau, donc $ f ne sera pas appelé.

Idées ??

TIA!

Répondre

0

Eh bien, va montrer ... vous demander ... le destin veut que vous trouvez votre propre réponse peu après ...

ajouté:

$foo.change(); 

après foo.change de $ ($ f).

+0

Si vous voulez aller de cette façon, au lieu de 'trigger', vous pouvez juste faire' foo.change de $() 'pour exécuter la fonction binded à l'événement de changement de l'élément. –

+0

oui, je viens de le trouver aussi. Je suis très nouveau à jQuery. Je travaille avec un développeur Web qui l'a déjà utilisé. donc nous apprenons beaucoup pendant que nous allons ici. – dharga

1

Vous pouvez simplement faire $f(); à l'intérieur du bloc prêt pour exécuter votre fonction au chargement de la page.

+0

pas cela ne fonctionne pas, parce que $ f doit être appelé pour un événement. il y a des références à cela à l'intérieur. – dharga