Ticket #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: | |
| Blocking: | Blocked by: |
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
Change History
Changed 4 years ago by torq
-
attachment
test2.html
added
comment:1 Changed 4 years ago by scott.gonzalez
See jquery-ui-dev thread about whether this should be supported.
comment:2 Changed 4 years ago by scott.gonzalez
- Priority changed from minor to critical
- Milestone changed from TBD to 1.6
comment:3 Changed 4 years ago by klaus.hartl
- Owner set to klaus.hartl
- Status changed from new to assigned
comment:4 Changed 4 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 !== 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