2010-01-26 12 views
0

J'ai un problème lorsque j'utilise des onglets de l'interface utilisateur et charger une page externe dans le tabcontent-DIV. Lorsque la page est chargée, tous les jQueries de cette page ne semblent plus fonctionner. J'ai lu quelque chose sur les rappels, mais ce n'est pas clair du tout. Exemple: Je charge une page externe par des onglets, et le contenu chargé inclut un DIV, qui devrait se cacher automatiquement comme jQueried dans index.html L'événement click jQuery est seulement ajouté pour montrer qu'un événement live travaille. Mais je n'arrive pas à faire fonctionner le masquage automatique, après avoir chargé le contenu.UI Tabulation page externe, jQueries ne fonctionne plus

index.html

<script type="text/javascript"> 

    jQuery(document).ready(function() { 

     // define tabs 
     $('#tabs').tabs(); 

     // after loading external page, the div "autohideafterload" will automatically hide. 
     $('#autohideafterload').hide('slow'); 

     $('#autohideafterload').live('click', function() { 
      $('#autohideafterload').hide('slow'); 
     }); 

    }); 

    </script> 

</head> 


<body> 

    <div id="tabs"> 
     <ul> 
      <li><a href="loadcontent.html" title="tabcontent"><span>Load data</span></a></li> 
     </ul> 
    </div> 

    <div id="tabcontent"></div> 

</body> 
</html> 

loadcontent.html

<div id="autohideafterload">This div will hide automatically after loaded this external page.</div> 

Qu'est-ce que je suis absent?

Répondre

1

vos événements après Liez est déclenché ...

$('#tabs') 
    .bind('tabsload', function(event, ui) { 
     $('#autohideafterload').hide('slow'); 
    }) 
    .tabs(); 

événement de charge de l'onglet Vous essayez de lier à un élément qui n'a pas (encore). Vous devez lier après le chargement de l'élément, et l'écoute de l'événement est le meilleur moyen de le faire.

+0

Ok, mais quand j'ai beaucoup d'éléments à lier pour cette page externe chargée, dois-je lier tous ces éléments séparés de cette façon? Je pense que c'est beaucoup de travail. N'y a-t-il pas d'autre moyen? –