Ticket #5413 (closed bug: fixed)
Accordion + Sortable doesn't work properly on IE6/7
| Reported by: | oxez | Owned by: | |
|---|---|---|---|
| Priority: | minor | Milestone: | 1.8.18 |
| Component: | ui.accordion | Version: | 1.8 |
| Keywords: | accordion sortable ie7 | Cc: | |
| Blocking: | Blocked by: |
Description
When trying out this demo: http://jqueryui.com/demos/accordion/#sortable on IE7, sorting the elements result in them disappearing. I tried looking for a workaround but couldn't find anything.
Change History
comment:2 Changed 3 years ago by scott.gonzalez
- Summary changed from Accordion + Sortable doesn't work properly on IE7 to Accordion + Sortable doesn't work properly on IE6/7
comment:4 Changed 2 years ago by mikeschuld
The demo in the svn trunk also breaks this way.
http://jquery-ui.googlecode.com/svn/trunk/demos/accordion/sortable.html
Attempting to cause the same problem in JSFiddle does not reproduce the issue though.
comment:5 Changed 2 years ago by mikeschuld
This seems to be due to the hasLayout IE uses. Got a workaround fix by alternating the zoom on the handle of the accordion header to 0 and 1.
// outsize the accordion (global)
var zoom = 1;
// in .sortable
stop: function {
zoom = zoom ? 0 : 1;
setTimeout('$(".ui-accordion-header").css("zoom", ' + zoom + ')', 10);
}
I can work on a fix in the jquery source itself but I have not ever done so, so if someone more experienced within the git and everything would rather do it for me feel free.
This has only been tested by me in IE7
comment:7 Changed 16 months ago by Scott González
- Status changed from open to closed
- Resolution set to fixed
Accordion demo: Work around some IE quirks in the sortable demo. Fixes #5413 - Accordion + Sortable doesn't work properly on IE6/7.
Changeset: 00b69db88365e41afbed29b9fed3592e0703b8ed
comment:8 Changed 16 months ago by Scott González
Accordion demo: Work around some IE quirks in the sortable demo. Fixes #5413 - Accordion + Sortable doesn't work properly on IE6/7. (cherry picked from commit 00b69db88365e41afbed29b9fed3592e0703b8ed)
Changeset: e77249eb3e06064d1e8c09a41047fb644818eb3a


A workaround I've found is to use:
$("body").css("display", "none"); $("body").css("display", "block");However it's a dirty workaround... but that's as much as I can do to help.