Opened 13 years ago

Closed 13 years ago

Last modified 11 years ago

#5065 closed bug (fixed)

Broken AJAX tab links after jQuery 1.4

Reported by: jabbott7 Owned by:
Priority: blocker Milestone: 1.7.3
Component: ui.tabs Version: 1.7.2
Keywords: 1.4-compat Cc: [email protected]
Blocked by: Blocking:

Description

It seems I must be missing something obvious, but

All AJAX tabs now show the link as ...#ui-tabs-[object Object] rather than #ui-tabs-21 (or whatever number). This causes a mismatch exception to be thrown from jQuery when clicking the tab.

I made a test page (attached) where I can just change between 1.4/1.3.2 to fix or break it. Tried in IE8 and FF35.

Attachments (1)

tab-test.txt (1.3 KB) - added by jabbott7 13 years ago.
HTML source for a test page

Download all attachments as: .zip

Change History (7)

Changed 13 years ago by jabbott7

Attachment: tab-test.txt added

HTML source for a test page

comment:1 Changed 13 years ago by jabbott7

It looks like line 42 of ui.tabs.js is probably the culprit.

this.options.idPrefix + $.data(a)

given that $.data() has a breaking change. Still not sure how best to fix it.

comment:2 Changed 13 years ago by jabbott7

The workaround is fairly simple. UI 1.8 fixes it so I followed it's example for 1.7.2 and slipped var tabId=0 into the minified tabs function and replaced a.data(b) with (++tabId).

It looks like there might be a couple other spots in the cookies support that use the deprecated .data() call but I haven't activated cookie support. The fix would be similar, I imagine.

comment:3 Changed 13 years ago by Scott González

Milestone: TBD1.8
Resolution: fixed
Status: newclosed

already fixed

comment:4 Changed 13 years ago by Scott González

Keywords: 1.4-compat added

comment:5 Changed 13 years ago by rdworth

Backported to 1.7.3 in r3976

comment:6 Changed 11 years ago by Scott González

Milestone: 1.81.7.3
Note: See TracTickets for help on using tickets.