J'utilise jQuery UI Tabs.jQuery - les événements ne se déclenchent pas pour les éléments d'onglet créés dynamiquement
<div id="tabs">
<ul id="tablist">
<li><a href="#fragment-1"><span>One</span></a></li>
</ul>
</div>
J'ai un bouton qui ajoute de nouveaux onglets. J'utilise le code suivant:
var newTabId = $('#tabs').tabs('option', 'selected') + 1;
$('#tabs').tabs("add",'someUrl.htm','New Tab',newTabId);
(Tab sera ajouté à côté de l'onglet sélectionné)
Maintenant, aucun des onglets récemment ajoutés le feu des événements comme un clic ou placez le curseur
$('#tablist li').click(function(){
alert('test message');
});
Mais les événements se déclenchent correctement pour les onglets qui étaient présents dans le code source initial.
Comment résoudre?
+1 pour le délégué – Giorgi
@Matt, je ne pouvais pas obtenir de délégué pour travailler pour moi dans cette situation. Cela n'a pas fonctionné pour le li sur tablist. mais si je crée un délégué pour un élément qui est en dehors de tablist, ça fonctionne bien ...! Une idée?? – Amit
@Amit: vous devez déléguer l'événement à un élément enregistré dans le DOM au moment où votre méthode 'delegate' est exécutée. Est-ce que ça marche sur #tabs? – Matt