Reputation: 29817
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.
Upvotes: 8
Views: 23324
Reputation: 1204
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!");
});
Upvotes: 0
Reputation: 9519
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.
Upvotes: 12
Reputation: 4196
looks like you could bind to tabsload or tabsshow:
http://jqueryui.com/demos/tabs/#Events
example
$('#example').bind('tabsshow', function(event, ui) { ... });
Upvotes: 6
Reputation: 5631
$( ".selector" ).tabs({
load: function(event, ui) { ... }
});
from http://jqueryui.com/demos/tabs/
Upvotes: 7