Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Non-standard: 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 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 Firefox-specific.

This property is Read only .


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)
  const dragData = event.dataTransfer;
  const node = dragData.mozSourceNode;
  if (node) {
    console.log(`mozSourceNode = ${dragData.mozSourceNode}`);
  } else {
    console.log("mozSourceNode is null");


This property is not defined in any Web standard.

Browser compatibility

BCD tables only load in the browser

See also