2010-11-14 8 views
8

Con jQuery UI tabs, puede utilizar el método de selección para ejecutar código cuando se hace clic en una pestaña:Con las pestañas jQuery UI, ¿cómo puedo ejecutar el código después de hacer clic en una pestaña?

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

Pero el código se ejecuta antes de la pestaña acaba de hacer clic se ha cargado. Necesito ejecutar el código después de que se haya cargado una nueva pestaña. ¿Cómo puedo hacer esto? Gracias por leer.

Respuesta

6

parece que podría obligar a tabsload o tabsshow:

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

ejemplo

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

Este evento ahora es "activate"/"tasbactivate"; vea http://api.jqueryui.com/tabs/#event-activate – Nenotlep

+0

Para ser claros, no usaría el método bind(): $ (".selector") .tabs ({ activate: function (event , ui) {} }); – SetFreeByTruth

12

API ha cambiado. Este evento ahora es "activar"/"tasbactivate"; ver http://api.jqueryui.com/tabs/#event-activate

----- VIEJO respuesta continuación -----------

Sobre la base de la cuestión es la tabsshow (no el tabsload) caso de que se desee ... evento se activa cuando se muestra una pestaña. ejemplos

Código: (de http://jqueryui.com/demos/tabs/)

de Suministro función de una devolución de llamada controlen el evento muestran como una opción de inicio.

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

Enlace al evento de evento por tipo: tabsshow.

$(".selector").bind("tabsshow", function(event, ui) { 
    ... 
}); 

El evento es útil si desea establecer el foco en el control o similar.

+8

Este evento ahora es "activar"/"tasbactivate"; ver http://api.jqueryui.com/tabs/#event-activate – Nenotlep

+0

de acuerdo en esta respuesta ... tiene más sentido para lo que el usuario está preguntando. – dah97765

+0

Corrija/edite la respuesta según el comentario de @Nenotlep –

Cuestiones relacionadas