#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)
Change History (6)
Changed 14 years ago by
Attachment: | test2.html added |
---|
comment:2 Changed 14 years ago by
Milestone: | TBD → 1.6 |
---|---|
Priority: | minor → critical |
comment:3 Changed 14 years ago by
Owner: | set to klaus.hartl |
---|---|
Status: | new → assigned |
comment:4 Changed 14 years ago by
Here is an error behaviour in setting a first tab as selected by default at ui.tabs.js at line 116
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;
}
Semi-self contained demonstration of issue behaviour; needs links to jQuery and jQueryUI