I'm trying to use the HTML5 draggable API (though I realize it [has its problems](http://www.quirksmode.org/blog/archives/2009/09/the_html5_drag.html)). So far, the only showstopper I've encountered is that I can't figure out a way to determine what is being dragged when a `dragover` or `dragenter` event fires:

```
el.addEventListener('dragenter', function(e) {
  // what is the draggable element?
});

```

I realize I could assume that it's the last element to fire a `dragstart` event, but... multitouch. I've also tried using `e.dataTransfer.setData` from the `dragstart` to attach a unique identifier, but apparently that data is [inaccessible](https://developer.mozilla.org/En/DragDrop/DataTransfer#getData()) from `dragover`/`dragenter`:

> 
> This data will only be available once a drop occurs during the drop event.
> 
> 
> 

So, any ideas?

**Update:** As of this writing, HTML5 drag-and-drop does not appear to be implemented in any major mobile browser, making the point about multitouch moot in practice. However, I'd like a solution that's guaranteed to work across any implementation of [the spec](http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html), which does not appear to preclude multiple elements from being dragged simultaneously.

I've posted [a working solution](https://stackoverflow.com/a/11089592/66226) below, but it's an ugly hack. I'm still hoping for a better answer.