Opened 7 years ago

Closed 7 years ago

Last modified 5 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: jason.abbott@…
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.

Change History (6)

comment:1 Changed 7 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 7 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 7 years ago by scottgonzalez

  • Milestone changed from TBD to 1.8
  • Resolution set to fixed
  • Status changed from new to closed

already fixed

comment:4 Changed 7 years ago by scottgonzalez

  • Keywords 1.4-compat added

comment:5 Changed 6 years ago by rdworth

Backported to 1.7.3 in r3976

comment:6 Changed 5 years ago by scottgonzalez

  • Milestone changed from 1.8 to 1.7.3
Note: See TracTickets for help on using tickets.