Opened 9 years ago

Closed 9 years ago

Last modified 8 years ago

#3683 closed bug (fixed)

Can't initialize an empty <ul> tabset

Reported by: torq Owned by: klaus.hartl
Priority: critical Milestone: 1.7
Component: ui.tabs Version: 1.6rc2
Keywords: empty tabset ul Cc:
Blocked by: Blocking:

Description

Both Firefox 3.0.5 and Opera 9.02 'hang' or break the flow of execution when attempting to initialize an empty <ul></ul> as a tabset.

If tabtest is a div containing an empty <ul></ul>, then this will fail :

$("#tabtest > ul").tabs();
$("#tabtest > ul").tabs("add", "#fragment1", "tab1");

But if there's something already in the <ul>, then it will succeed, like so :

$("#tabtest > ul").append("<li><a href='#fragment0'><span>tab0</span></a></li>");
$("#tabtest > ul").tabs();
$("#tabtest > ul").tabs("add", "#fragment1", "tab1");

In the attached .html, you should see an alert("done!") if and when the browser has finished creating the tabs. In the failure case, this alert never appears.

Attachments (1)

test2.html (704 bytes) - added by torq 9 years ago.
Semi-self contained demonstration of issue behaviour; needs links to jQuery and jQueryUI

Download all attachments as: .zip

Change History (6)

Changed 9 years ago by torq

Attachment: test2.html added

Semi-self contained demonstration of issue behaviour; needs links to jQuery and jQueryUI

comment:1 Changed 9 years ago by Scott González

See jquery-ui-dev thread about whether this should be supported.

comment:2 Changed 9 years ago by Scott González

Milestone: TBD1.6
Priority: minorcritical

comment:3 Changed 9 years ago by klaus.hartl

Owner: set to klaus.hartl
Status: newassigned

comment:4 Changed 9 years ago by 4pcbr

Here is an error behaviour in setting a first tab as selected by default at ui.tabs.js at line 116

o.selected = o.selected === null
o.selected !== undefined ? o.selected : 0; first tab selected by default

I've fixed it next way:

if (this.$tabs.length) {

o.selected = o.selected === null
o.selected !== undefined ? o.selected : 0;

} else {

o.selected = null;

}

comment:5 Changed 9 years ago by klaus.hartl

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.