Dojo Drag and Drop does not work on specifically Windows 10 IE11

Description

The software(developed in dojo) I am working on has the feature of drag and drop, things were working fine on all the browsers, just recently our QA team informed me that the drag and drop feature of our product is not working on Windows 10 IE11 only, all the other browsers even including IE11 on windows 7 and 8 support drag and drop feature in our product.

I suppose this could be due to an update that got applied to the Windows 10 installation, since the QA mentioned that this feature was working on Windows 10 IE11 a few months back.

Currently I am trying to debug the dojo code for Manager.js and Source.js Till now I noticed that in Source.js the drag event is getting executed correctly but the target is getting cleared hence the onDrop event is not getting called

The dojo used is latest 1.10

Please provide me any pointers on resolving this issue

Thanks

Oldest firstNewest firstThreaded

Show commentsShow property changes

Change History (15)

On dragging the item from the source container and bringing it in the drop area, the browser should fire a "mousemove" or "mouseover" event, but instead the browser (Windows 10 IE11) would fire a "mouseout" event thus forcing the drop area to reject the dragged item. This could be caused due to the combining effect of touch and mouse events.

In the codefix I check the current co-ordinates of the mouse pointer and compare them to the edges of the drop area and check if the mouse pointer is inside the drop area. If its inside the drop area and the browser fires a "mouseout" event, then I consider this event as invalid and reject it, which allows the item to be dropped successfully in the drop area. If the mouse pointer is outside the edges of the drop area and the browser fires a "mouseout" event, then I consider this event as legit and process it.

I had to override the onMouseOut event in dojo.dnd.Container class as follows:

I've narrowed this down to the Avatar triggering mouseout events on the Target due to (apparently) a lag between the rendering of the avatar vs the firing of events on my test machine. Basically, if the user drags toward the avatar, the target fires the mouseout event and the DnD is aborted.

My first thought was to include the avatar in the tests to see if the mouseout event should be cancelled. While this works, it breaks the ability to detect a true mouseout event on the target later. I'm still working on solutions, but I wanted to provide an update with my findings.