#5370 closed bug (fixed)
All drag & drop events fail in IE9
Reported by: | itpretty | Owned by: | |
---|---|---|---|
Priority: | blocker | Milestone: | 1.8.6 |
Component: | ui.mouse | Version: | 1.7.2 |
Keywords: | IE9 | Cc: | |
Blocked by: | Blocking: |
Description
Preview demos of http://jqueryui.com/demos/sortable in IE9 (http://ie.microsoft.com/testdrive/Default.html). All the drag & drop events fail.
Change History (21)
comment:1 Changed 13 years ago by
Resolution: | → wontfix |
---|---|
Status: | new → closed |
comment:2 follow-up: 3 Changed 13 years ago by
Resolution: | wontfix |
---|---|
Status: | closed → reopened |
Hello, May I re-open this bug now that IE9 has been released as beta?
http://www.beautyoftheweb.com/ http://windows.microsoft.com/en-US/internet-explorer/download/ie-9/worldwide
Related discussion: http://forum.jquery.com/topic/jquery-ui-does-not-work-on-ie9
Best regards, Alexandre http://alexandre.alapetite.fr
comment:4 Changed 13 years ago by
Component: | ui.sortable → ui.mouse |
---|
comment:5 Changed 13 years ago by
Priority: | major → blocker |
---|
comment:7 follow-up: 8 Changed 13 years ago by
could be fixed here, by removing the msie "fixup" if version is '9.0' : http://dev.jqueryui.com/browser/ui/jquery.ui.mouse.js?rev=8a5d4ca3213e1e80fdbe51243ddaa27c8e618a73#L100
comment:8 follow-up: 10 Changed 13 years ago by
Replying to Tanguy:
could be fixed here, by removing the msie "fixup" if version is '9.0' : http://dev.jqueryui.com/browser/ui/jquery.ui.mouse.js?rev=8a5d4ca3213e1e80fdbe51243ddaa27c8e618a73#L100
Hello, Yes indeed. While removing this section or using some smarter feature detection would be better, I am having good success with IE9b1 by replacing this line 100 by:
if ($.browser.msie && (!event.button) && (parseInt(c.browser.version) < 9)) {
Regards, Alexandre http://alexandre.alapetite.fr
comment:9 Changed 13 years ago by
Replying to Alkarex and to Tanguy:
There also seems to be a problem calculating the pageX and pageY offsets on mouse events (contextmenu, click ect).
See http://www.trendskitchens.co.nz/jquery/contextmenu/ as an example. After right clicking on an item scroll to the bottom of the page, that is where the menu ends up. The event fires with pageX and pageY undefined.
comment:10 Changed 12 years ago by
Replying to Alkarex:
Replying to Tanguy:
could be fixed here, by removing the msie "fixup" if version is '9.0' : http://dev.jqueryui.com/browser/ui/jquery.ui.mouse.js?rev=8a5d4ca3213e1e80fdbe51243ddaa27c8e618a73#L100
Hello, Yes indeed. While removing this section or using some smarter feature detection would be better, I am having good success with IE9b1 by replacing this line 100 by:
if ($.browser.msie && (!event.button) && (parseInt(c.browser.version) < 9)) {Regards, Alexandre http://alexandre.alapetite.fr
Hi Guys,
I have tried editing the code with this line but still getting no joy with the draggable elements.
Have you managed to make it work yet??
Thanks for any help.
comment:11 Changed 12 years ago by
this bug is blocking the wrong milestone, needs updating to block milestone 1.9
comment:12 Changed 12 years ago by
Milestone: | 1.8 → 1.9 |
---|
comment:14 follow-up: 16 Changed 12 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Sorry to re-open this, but if the browser happens to be in a compatibility view, this check will not be sufficient. For instance, the page itself could opt to set the Doc Mode to IE9 with the following:
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
So if the browser is in a compatibility view (say IE7 because it is hosted on an intranet webserver) and the page specifies the above, the Doc Mode will be IE9 Standards, but the User-Agent will still be IE7.
This will cause jQuery.browser.version to be set to 7, even though the page does support standard mouse events. A correct check would also consider document.documentMode before assuming the browser is IE7.
My apologies if this is something that needs to be fixed where jQuery.browser.version is populated rather than here.
comment:15 Changed 12 years ago by
if i remember right, IE9 use now event.buttons which contains all pressed buttons instead of event.button
it is how ive fixed this issue in fullcalendar :
var msie9 = false; //IE9 dnd fix (jQuery UI Mouse (<= 1.8.5) doesnt support IE9) if ($.ui && $.browser.msie && parseInt($.browser.version,10) >= 9) { msie9 = true; var mm=$.ui.mouse.prototype._mouseMove; $.ui.mouse.prototype._mouseMove=function(b){b.button=1;mm.apply(this,[b]);} }
comment:16 Changed 12 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Replying to xirzec:
Sorry to re-open this, but if the browser happens to be in a compatibility view, this check will not be sufficient. For instance, the page itself could opt to set the Doc Mode to IE9 with the following:
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
So if the browser is in a compatibility view (say IE7 because it is hosted on an intranet webserver) and the page specifies the above, the Doc Mode will be IE9 Standards, but the User-Agent will still be IE7.
This will cause jQuery.browser.version to be set to 7, even though the page does support standard mouse events. A correct check would also consider document.documentMode before assuming the browser is IE7.
My apologies if this is something that needs to be fixed where jQuery.browser.version is populated rather than here.
Thanks. Fixed in ec73a59
comment:18 Changed 12 years ago by
Milestone: | 1.9 → 1.8.6 |
---|
comment:19 Changed 12 years ago by
Mouse: Limit mouseup out of window check to only versions of IE earlier than 9 as IE9 has this fixed. Fixes #5370 - All drag & drop events fail in IE9.
Changeset: 8fcf58e29e4adfdcf9bef5c9e35bde932c165aa8
comment:20 Changed 12 years ago by
Mouse: better check for not IE9 or greater in case mode was set by X-UA-Compatible. See http://msdn.microsoft.com/en-us/library/cc196988%28VS.85%29.aspx for more info. Fixes #5370 - All drag & drop events fail in IE9. Thanks xirzec.
Changeset: ec73a59c77c522a45b3a22ea74515c36b7db45a5
IE9 is not is in a release state where we will look at bugs.