2010-11-27 4 views
1

Pourquoi ai-je une erreur de syntaxe Firebug lorsque je change de ceci:Pourquoi une erreur de syntaxe se produit-elle après avoir tenté d'attacher live() aux onglets jQueryUI()?

$("#tabs").tabs({ 

à ceci:

<script> 
$(function() { 
    $("#tabs").live('tabs', function(event){ 
     ajaxOptions: { 
      error: function(xhr, status, index, anchor) { 
       $(anchor.hash).html(
        "Couldn't load this tab. We'll try to fix this as soon as possible. " + 
        "If this wouldn't be a demo."); 
      } 
     } 
    }); 
}); 
</script> 



<div class="demo"> 

    <div id="tabs"> 
     <ul> 
      <li><a href="#tabs-1">Name</a></li> 
      <li><a href="#tabs-2">Address</a></li> 
     </ul> 
     <div id="tabs-1"> 
      <div id="dynamicContent"> 
       John Doe 
      </div> 
     </div> 
     <div id="tabs-2"> 
      Cupertino, California 
     </div> 
    </div> 

</div><!-- End demo --> 

je besoin d'une fonction live() parce que j'efface le code HTML intérieur où l'élément tabs existe dans le cours du cycle de vie de la page.

Répondre

2

tabs() est pas un setter d'un gestionnaire d'événements, il est juste une méthode de l'objet jQuery. Live va définir un gestionnaire d'événements, donc vous ne pouvez pas l'utiliser.

Je ne pense pas qu'il y ait un moyen facile de créer automatiquement les onglets; ne pouvez-vous pas créer les onglets lorsque du nouveau contenu est ajouté?

Questions connexes