Opened 14 years ago

Closed 14 years ago

#6898 closed defect (duplicate)

DnD: Firefox 2 specific DnD problem.

Reported by: Jared Jurkiewicz Owned by: Eugene Lazutkin
Priority: high Milestone:
Component: DnD Version: 1.1.1
Keywords: Cc:
Blocked By: Blocking:


One of the products at my company hit a strange problem that only manifests on Firefox 2 with the Drag and Drop code. They had a DIV which was marked as a dndItem in the class. it contains a bunch of other divs that wrap text and the like.

If they clicked on any whitespace inside the DND item, they would get the avatar fine, but when they would hover it over the drop target, the avatar would not switch to drop mode (go green and allow dropping). However, when they clicked on text inside the same dndItem and would drag the avatar over the target, it would go green and allow it to drop.

On IE and Safari, clicking on whitespace in the DND item and dragging works fine. It's completely isolated to FF2.

This problem shows up in 1.0.2, 1.1.1, and 1.2 trunk. There's also a test case in 1.2 trunk that shows the problem:

Click on any whitespace in a pane and drag it in FF2. It drags fine, but you can't drop it. Then click on TEXT in the same pane and drag it. The pane drags fine and you can drop it.

Very strange.

In 1.0.2, I debugged this down to the Manager.canDrop() function. If anything other than a text node in the dndItem was clicked and dragged, the canDrop function never executes when it passes over a target. If I grab text and drag from that, the canDrop function executes fine, updated the avatar, and it drops fine. I determined that much through console.log()ing in the manager and Avatar functions.

It's very strange and rather annoying. I would expect this sort of behavior from IE, but in this case IE is the good citizen and it's FF2 that isn't working right.

Change History (2)

comment:1 Changed 14 years ago by Eugene Lazutkin

Dup of #4854.

comment:2 Changed 14 years ago by bill

Resolution: duplicate
Status: newclosed
Note: See TracTickets for help on using tickets.