W3C home > Mailing lists > Public > whatwg@whatwg.org > March 2010

[whatwg] More questions about the DnD API

From: Daniel Cheng <dcheng@google.com>
Date: Mon, 29 Mar 2010 14:04:22 -0700
Message-ID: <cdc844f71003291404q2b44d8e3o7dc569fb601a994c@mail.gmail.com>
On Sun, Mar 28, 2010 at 1:29 PM, Stef Epardaud <stef at epardaud.fr> wrote:

> Hello,
>
> I didn't get any reaction to my previous email unfortunately since I
> think I brought up some valid points, but in any case I have some more
> feedback, so I keep sending :)
>
> I'm still trying to use the DnD for a real-world use, and keep hitting
> problems. This is the HTML 5 draft at 7.9.4 Drag-and-drop processing
> model:
>
> "From this point until the end of the drag-and-drop operation, device
> input events (e.g. mouse and keyboard events) must be suppressed."
>
> This looks crazy to me. First Mozilla doesn't limit this since I was
> able to get a keypress event while dragging a node. I use this to change
> the behaviour of the drag operation with control/meta/alt keys while
> dragging, the same way file managers do it (at least Gnome Nautilus) and
> lots of other applications (Open Office for example). We need to be able
> to access key events while dragging. There might be a good rationale for
> this limitation stated in the spec, but based on evidence of how DnD is
> used in other applications perhaps it should be reviewed?
>

DragEvent (via MouseEvent) should expose ctrlKey, altKey, metaKey, and
shiftKey properties.


>
> Personally I also use the key events while dragging to allow the user to
> open folders in order to continue the drag operations inside, instead of
> requiring them to drop the file in the folder, then open the folder and
> drag it again to a subfolder.
>
> I also have a question regarding DnD started in an external application:
> since we get no dragstarted or drag events, how can we detect that
> something wants to be dragged in the window? I want to highlight every
> responsive drop points so the user can know which elements are valid
> drop targets, but failed to get any meaningful interaction with
> dragentered or dragover on the document, or body elements. Surely that's
> a mistake from my part, but since I expect that it's going to be asked a
> lot (when we don't get drag or dragstart events), perhaps it should be
> mentioned in the spec?
>

dragstart and drag events are fired at the source node, but since you're
dragging from a non-DOM application, you won't get any. You should still be
getting dragenter / dragover / dragleave / drop if the item is
dragged/dropped over a DOM page though. It works for me in WebKit.


>
> Thanks for your help.
> --
> St?phane Epardaud
>

Of course, I have a question of my own. In
http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#effectAllowed-initialization,
is it intentional that any drag event can change the value of effectAllowed
for the next event? Does it make sense to making this property settable only
during dragstart / drag?

Daniel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20100329/f5835f4b/attachment.htm>
Received on Monday, 29 March 2010 14:04:22 UTC

This archive was generated by hypermail 2.4.0 : Wednesday, 22 January 2020 16:59:22 UTC