This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

The DataTransfer.mozSourceNode property is used to determine the Node over which the mouse cursor was located when the the drag operation was initiated (for example, when a <button> was clicked). For external drags or if the calling function cannot reach the node, null is returned.

Note: This property is Gecko-specific.

This property is Read only .



Return value

A Node representing node where the drag originated. Returns null for external drags or if the node cannot be accessed.


This example shows the use of the mozSourceNode property in the dragend event handler.

function dragend_handler(event)
  var dragData = event.dataTransfer;
  var node = dragData.mozSourceNode;
  if (node != null)
    console.log("mozSourceNode = " + dragData.mozSourceNode);
    console.log("mozSourceNode is null");


This property is not defined in any Web standard.

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Chrome No support NoEdge No support NoFirefox Full support YesIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android ? Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No


Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.

See also