on
peut être utilisé pour connecter les événements de redimensionnement et de préparation comme n'importe quel autre événement.
Dans votre cas, vous pourriez donc créer une fonction contenant le code que vous souhaitez voir apparaître pour resize
y ready
et le transmet ensuite aux deux appels à on
.
Si vous voulez garder votre champ d'application propre, vous pouvez faire tout cela dans une fonction qui s'exécute immédiatement :
(function() {
function stuffForResizeAndReady(){
// Stuff in here happens on ready and resize.
}
$(window).on("resize", stuffForResizeAndReady);
$(document).on("ready", stuffForResizeAndReady);
})();
2012-07-25 : Il y a deux différences à prendre en compte lors de l'utilisation de .on()
pour attacher des gestionnaires prêts à l'emploi :
-
Des gestionnaires prêts à l'emploi ont été ajoutés par l'intermédiaire de $(fn)
y $(document).ready(fn)
sont "rétrofités", tandis que ceux ajoutés par les .on()
ne le sont pas. En utilisant celles-ci, si vous ajoutez un gestionnaire après que le DOM soit déjà chargé, la fn sera déclenchée immédiatement. Si vous ajoutez un gestionnaire via .on('ready', fn)
après le DOM est chargé, il pas est déclenchée par jQuery, mais vous pouvez manuellement .trigger('ready')
il.
-
Lorsque vous utilisez $(fn)
o $(document).ready(fn)
pour ajouter un gestionnaire prêt, la fn reçoit jQuery en tant que 1er arg, permettant au familier jQuery(function($){ })
l'utilisation. Si vous utilisez $(document).on('ready', fn)
le 1er arg que le fn reçoit est un objet de l'événement . Dans les deux cas this
à l'intérieur de la fn est la document
. Si vous faisiez quelque chose d'anormal comme $('#foo').on('ready', fn)
aux fins de déclenchement, this
serait le #foo
élément.