Ticket #5065 (closed bug: fixed)

Opened 5 years ago

Last modified 3 years ago

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@…
Blocking: Blocked by:

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 5 years ago.
HTML source for a test page

Change History

Changed 5 years ago by jabbott7

HTML source for a test page

comment:1 Changed 5 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 5 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 5 years ago by scott.gonzalez

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

already fixed

comment:4 Changed 5 years ago by scott.gonzalez

  • Keywords 1.4-compat added

comment:5 Changed 4 years ago by rdworth

Backported to 1.7.3 in r3976

comment:6 Changed 3 years ago by scott.gonzalez

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