Ticket #5065 (closed bug: fixed)

Opened 8 months ago

Last modified 5 months ago

Broken AJAX tab links after jQuery 1.4

Reported by: jabbott7 Owned by:
Priority: blocker Milestone: 1.8
Component: ui.tabs Version: 1.7.2
Keywords: 1.4-compat Cc: jason.abbott@…

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

tab-test.txt Download (1.3 KB) - added by jabbott7 8 months ago.
HTML source for a test page

Change History

Changed 8 months ago by jabbott7

HTML source for a test page

Changed 8 months 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.

Changed 8 months 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.

Changed 8 months ago by scott.gonzalez

  • status changed from new to closed
  • resolution set to fixed
  • milestone changed from TBD to 1.8

already fixed

Changed 7 months ago by scott.gonzalez

  • keywords 1.4-compat added

Changed 5 months ago by rdworth

Backported to 1.7.3 in r3976

Note: See TracTickets for help on using tickets.