8

With jQuery UI tabs, you can use the select method to run code when a tab is clicked:

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

But the code is run before the just clicked tab has been loaded. I need to run code after new tab has been loaded. How can I do this? Thanks for reading.

ben
  • 29,229
  • 42
  • 124
  • 179

4 Answers4

12

API HAS CHANGED. This event is now "activate"/"tasbactivate"; see http://api.jqueryui.com/tabs/#event-activate

----- OLD Answer below -----------

Based on the question it's the tabsshow (not the tabsload) event that is desired...event is triggered when a tab is shown.

Code examples: ( from http://jqueryui.com/demos/tabs/ )

Supply a callback function to handle the show event as an init option.

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

Bind to the show event by type: tabsshow.

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

The event is useful if you want to set focus on control or similar.

Darren
  • 9,014
  • 2
  • 39
  • 50
7
$( ".selector" ).tabs({
   load: function(event, ui) { ... }
});

from http://jqueryui.com/demos/tabs/

Cubed Eye
  • 5,581
  • 4
  • 48
  • 64
6

looks like you could bind to tabsload or tabsshow:

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

example

$('#example').bind('tabsshow', function(event, ui) { ... });
JasonWoof
  • 4,176
  • 1
  • 19
  • 28
0

HTML

<div id="tabs">
    <ul>
        <li><a href="#job_information_tab">Job Information</a></li>
    </ul>
    <div id="job_information_tab">
        [content]
    </div>
</div>

JS

$('a[href="#job_information_tab"]').on('click', function() {
   alert("Don't tickle me! I am gonna pee!");
});
buycanna.io
  • 1,166
  • 16
  • 18