DataTransfer.mozSetDataAt()

我们的志愿者还没有将这篇文章翻译为 中文 (简体)加入我们帮助完成翻译
您也可以阅读此文章的English (US)版。

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.mozSetDataAt() method is used to add data to a specific index in the drag event's data transfer object.

A data transfer may store multiple items, each at a given zero-based index. mozSetDataAt() may only be called with an index argument less than mozItemCount in which case an existing item is modified, or equal to mozItemCount in which case a new item is added, and the mozItemCount is incremented by one.

Data should be added in order of preference, with the most specific format added first and the least specific format added last. If data of the given format already exists, it is replaced in the same position as the old data.

The data should be either a string, a Boolean or number type (which will be converted into a string) or an nsISupports.

Note: This method is Gecko-specific.

Syntax

void dataTransfer.mozSetDataAt([type], data, index);

Arguments

type
A string representing the type of the drag data to add to the drag data object.
data
A nsIVariant representing the data to add to the drag data object.
index
A unsigned long representing the index of the data to add.

Return value

void
 

Example

This example shows the use of the mozSetDataAt() method in a dragstart handler.

function dragstart_handler(event)
{
  var dt = event.dataTransfer;
  var idx = dt.mozItemCount;
  // Add two new items to the drag transfer 
  if (idx >= 0) {
    dt.mozSetDataAt("text/uri-list","http://www.example.com/", idx);
    dt.mozSetDataAt("text/html", "Hello World", idx+1);
  }
}

Specifications

This method is not defined in any Web standard.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic support
ExperimentalNon-standard
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 NoEdge Mobile No support NoFirefox Android ? Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No

Legend

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

文档标签和贡献者

此页面的贡献者: fscholz, rolfedh, AFBarstow
最后编辑者: fscholz,