I discovered a bug in the jqueryui tabs control which I felt would benefit everyone to know. I'm creating an application that is using the jqueryui tabs control and part of my functionality is to allow a user to add and remove tabs on the fly. Each of my tabs are ajax tabs (not the static tabs).
Here is the code that I used to defined the tabs (the calling functions are not included in this post):
// create tabs
$tabs = $("#" + options.tabbedStripId).tabs({
ajaxOptions: {
beforeSend: function (xhr, settings) {
$.xhrPool.push(xhr);
ajaxActionComplete = false;
var millis = options.progressDialogWaitTimeMillis;
Once a new tab was added, you had to click the tab twice before it would actually show anything. Upon addition of the tab, it would definitely call the URL using ajax and get the response, however the screen would blink the response and then hide it.
I debugged the jqueryui tab control and concluded that the problem was in the section of code that was dealing with the "fx" option.
fx: {
opacity: 'toggle',
duration: 'fast'
},
For some reason, that code was causing it to hide the response. I removed that option (fx) from my initial tabs display and everything worked as expected.
I'm using jquery 1.7.2 with jqueryui 1.8.20.
Again...I've worked around the issue by removing the fx option. If someone else has experienced this issue, I thought this post may be of some use.