The read-only length
property of the DataTransferItemList
interface returns the number of items currently in the drag item list.
The read-only length
property of the DataTransferItemList
interface returns the number of items currently in the drag item list.
The number of drag data items in the list, or 0 if the list is empty or disabled. The drag item list is considered to be disabled if the item list's DataTransfer
object is not associated with a drag data store.
This example shows the use of the length
property.
js
function dragstart_handler(ev) { console.log("dragStart"); // Add this element's id to the drag payload so the drop handler will // know which element to add to its tree const dataList = ev.dataTransfer.items; dataList.add(ev.target.id, "text/plain"); // Add some other items to the drag payload dataList.add("<p>Paragraph…</p>", "text/html"); dataList.add("http://www.example.org", "text/uri-list"); } function drop_handler(ev) { console.log("Drop"); ev.preventDefault(); const data = ev.dataTransfer.items; // Loop through the dropped items and log their data for (let i = 0; i < data.length; i++) { if (data[i].kind === "string" && data[i].type.match("^text/plain")) { // This item is the target node data[i].getAsString((s) => { ev.target.appendChild(document.getElementById(s)); }); } else if (data[i].kind === "string" && data[i].type.match("^text/html")) { // Drag data item is HTML data[i].getAsString((s) => { console.log(`… Drop: HTML = ${s}`); }); } else if ( data[i].kind === "string" && data[i].type.match("^text/uri-list") ) { // Drag data item is URI data[i].getAsString((s) => { console.log(`… Drop: URI = ${s}`); }); } } } function dragover_handler(ev) { console.log("dragOver"); ev.preventDefault(); // Set the dropEffect to move ev.dataTransfer.dropEffect = "move"; } function dragend_handler(ev) { console.log("dragEnd"); const dataList = ev.dataTransfer.items; // Clear any remaining drag data dataList.clear(); }
html
<div> <p id="source" ondragstart="dragstart_handler(event);" ondragend="dragend_handler(event);" draggable="true"> Select this element, drag it to the Drop Zone and then release the selection to move the element. </p> </div> <div id="target" ondrop="drop_handler(event);" ondragover="dragover_handler(event);"> Drop Zone </div>
css
div { margin: 0em; padding: 2em; } #source { color: blue; border: 1px solid black; } #target { border: 1px solid black; }
Specification |
---|
HTML Standard # dom-datatransferitemlist-length-dev |
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
length |
13 | 12 | 50 | No | 12 | 6 | 4.4 | 18 | 50 | ≤14 | 6 | 1.0 |
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList/length