title: How to find out the actual event.target of touchmove javascript event?
body: <p>=I am trying to develop a simple drag/drop UI in my web application. An item can be dragged by a mouse or a finger and then can be dropped into one of several drop zones. When an item is dragged over a drop zone (but not yet released), that zone is highlighted, marking safe landing location. That works perfectly fine with mouse events, but I'm stuck with touchstart/touchmove/touchend family on the iPhone/iPad.</p>
  <p>The problem is that when an item's ontouchmove event handler is called, its <code>event.touches[0].target</code> always points to the originating HTML element (the item) and not the element which is currently under the finger. Moreover, when an item is dragged by finger over some drop zone, that drop zone's own <code>touchmove</code> handlers isn't called at all. That essentially means I can't determine when a finger is above any of the drop zones, and therefore can't highlight them as needed. At the same time, when using a mouse, <code>mousedown</code> is correctly fired for all HTML elements under the cursor.</p>
  <p>Some people confirm that it's supposed to work like that, for instance <a href="http://www.sitepen.com/blog/2008/07/10/touching-and-gesturing-on-the-iphone/" rel="noreferrer">http://www.sitepen.com/blog/2008/07/10/touching-and-gesturing-on-the-iphone/</a>:
  <em>For those of you coming from the normal web design world, in a normal mousemove event, the node passed in the target attribute is usually what the mouse is currently over. But in all iPhone touch events, the target is a reference to the originating node.</em></p>
  <p><strong>Question:</strong> is there any way to determine the actual element under a finger (NOT the initially touched element which can be different in many circumstances)?</p>