2009-08-07 5 views
0

question Horriblement rédigé, je sais ...jQuery .load() ne se charge pas de manière fiable les fichiers js lors du déplacement vers le bas l'arbre DOM

je tente de charger une page dans un div dans un aspic: listview . La page se charge correctement lors de la première tentative, mais les chargements suivants ne semblent pas exécuter le fichier jquery.ui.js pour tabuler la page chargée.

J'ai déplacé l'appel pour tabuler la page chargée dans la fonction de rappel de la fonction .load(), mais cela n'a pas mieux résolu le problème. Code suit:

$(".clientModal").click(function() { 
      var clientID = $(this).attr("title"); 
      if ($(this).hasClass("highlight")) { 
       $('#ClientPanel' + clientID).slideToggle(200); 
      } 
      else { 
       $('#ClientPanel' + clientID).load("Details.aspx?id=" + clientID, null, function() { 
        $("#clientTabs").tabs(); 
        $('#ClientPanel' + clientID).slideToggle(200); 
       }); 
      } 
      $(this).toggleClass("highlight"); 
     }); 

C'est à l'intérieur d'une pageLoad fonction() que nous utilisons Microsoft Ajax aussi bien, et que vous voulez le faire sur pageLoad plutôt que sur document.ready. Des idées sur la raison pour laquelle jquery.ui fonctionnerait bien sur la charge initiale, mais pas sur les charges suivantes? Merci!

Éditer! Permettez-moi d'ajouter quelques informations ici. J'ai remarqué que si je remonte du bas de l'écran en cliquant sur les liens, il fonctionne comme il se doit, affiche les onglets et fonctionne correctement. Toutefois, si je descends, cela fonctionne pour le premier clic, puis les clics suivants dans l'arbre ne fonctionnent pas correctement, cependant, clique sur l'arbre faire.

Suis-je complètement fou ici? :)

Répondre

0

Le problème était lors de l'appel de l'ID de clientTabs. En remontant l'arbre, cela ne posait aucun problème car il trouvait la première instance de #clientTabs et appliquait l'interface utilisateur, et en premier lieu, le premier était celui que je voulais. En descendant, la première instance de #clientTabs n'était PAS celle que j'appelais, donc ça n'a pas marché. Donc, commuté à une référence de classe ($ (". ClientTabs")) et il fonctionne maintenant magnifiquement. Parfois, les classes valent mieux que les ID ...

0

Essayez de charger les fichiers jquery.ui avec votre page chargée, ainsi que la page qui le charge. La page chargée peut ne pas connaître jquery.ui.

+0

Déjà essayé dans les deux sens. Cela ne semble pas faire de différence. – riceboyler

Questions connexes