2010-11-14 10 views
8

Avec jQuery UI tabs, vous pouvez utiliser la méthode de sélection pour exécuter du code lorsqu'un onglet est cliqué:Avec les onglets de l'interface utilisateur jQuery, comment puis-je exécuter du code après un clic sur un onglet?

$(".selector").tabs({ 
    select: function(event, ui) { ... } 
}); 

Mais le code est exécuté avant que l'onglet cliqué a été chargé. Je dois exécuter du code après le chargement d'un nouvel onglet. Comment puis-je faire ceci? Merci d'avoir lu.

Répondre

6

ressemble, vous pouvez lier à tabsload ou tabsshow:

http://jqueryui.com/demos/tabs/#Events

exemple

$('#example').bind('tabsshow', function(event, ui) { ... }); 
+2

Cet événement est maintenant "activer"/"tasbactivate"; voir http://api.jqueryui.com/tabs/#event-activate – Nenotlep

+0

Pour être clair, vous n'utilisez pas la méthode bind(): $ (".selector") .tabs ({ activate: function (event , ui) {} }); – SetFreeByTruth

12

API A CHANGÉ. Cet événement est maintenant "activer"/"tasbactiver"; voir http://api.jqueryui.com/tabs/#event-activate

----- VIEUX réponse ci-dessous -----------

Sur la base de la question, il est l'événement tabsshow (pas le tabsload) que l'on souhaite ... L'événement est déclenché lorsqu'un onglet est affiché.

exemples de code: (de http://jqueryui.com/demos/tabs/)

offre une fonction de rappel pour gérer l'événement show en option init.

$(".selector").tabs({ 
    show: function(event, ui) { ... } 
}); 

Lier à l'événement show par type: tabsshow. L'événement est utile si vous souhaitez définir le focus sur le contrôle ou similaire.

+8

Cet événement est maintenant "activer"/"tasbactiver"; voir http://api.jqueryui.com/tabs/#event-activate – Nenotlep

+0

convenu sur cette réponse ... a plus de sens pour ce que l'utilisateur demande. – dah97765

+0

Veuillez corriger/modifier la réponse selon le commentaire @Nenotlep –