2012-02-06 2 views
0

Je cette js qui commençant donc:carte de charge après que la page a entièrement chargée

$("#map-page").live("pageinit", function() 
{ 
    //Here the body function 
}); 

Je remplissions cette fonction après la page a terminé à load.how puis-je faire?

+0

J'ai le code vu avant que ça a suggéré d'utiliser 'direct (« pageinit »)' Il semble un non évidente modèle, à moi - d'où l'avez-vous obtenu? – lonesomeday

+0

Je l'obtiens d'un manuel mobile de jquery. – Mazzy

+0

Un lien, peut-être? – lonesomeday

Répondre

2

Mise à jour: On dirait que cette méthode ne fonctionnera pas avec jQuery mobile (assez étrangement).

Essayez ceci:

$(document).ready(function() { 
    $("#map-page").doWhatever(); 
}) 
+0

Je pense qu'il fait référence à jQuery mobile, ne pas utiliser document.ready pour jQuery mobile –

+0

@ClayLiu Merci, mis à jour pour le rendre plus clair. J'ai laissé la réponse parce que si je ne le faisais pas, quelqu'un d'autre le posterait certainement plus tard. – benekastah

0

Vous devriez être plus clair que vous êtes se référant à jQuery Mobile, de toute façon le meilleur moyen est de lier un événement en direct à l'événement pagecreate/pageshow qui est déclenché sur le <div data-role="page">

Si vous voulez que le code s'exécute une seule fois, utilisez pagecreate, s'il doit s'exécuter à chaque fois que la page est affichée (il y a des données dynamiques), utilisez alors pageshow et récupérez les modifications via AJAX. S'il vous plaît noter si vous naviguez à nouveau à la page via le bouton arrière etc, il peut être récupéré de la mémoire dans ce cas votre code HTML ne sera pas mis à jour - vous devez utiliser le chargement non-AJAX ou mettre à jour votre DOM via AJAX

Utilisez un identifiant ou une classe pour attacher correctement l'auditeur, voici une réponse plus détaillée que j'ai écrit: https://stackoverflow.com/a/9085014/737023

Questions connexes