diff options
Diffstat (limited to 'files/zh-cn/web/api/datatransferitemlist/length/index.html')
| -rw-r--r-- | files/zh-cn/web/api/datatransferitemlist/length/index.html | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/files/zh-cn/web/api/datatransferitemlist/length/index.html b/files/zh-cn/web/api/datatransferitemlist/length/index.html new file mode 100644 index 0000000000..42dc044eaf --- /dev/null +++ b/files/zh-cn/web/api/datatransferitemlist/length/index.html @@ -0,0 +1,137 @@ +--- +title: DataTransferItemList.length +slug: Web/API/DataTransferItemList/length +translation_of: Web/API/DataTransferItemList/length +--- +<p>{{domxref("DataTransferItemList")}} 接口的只读属性<code><strong>length</strong></code> 返回当前拖动项列表中项目的数量.</p> + +<h2 id="Syntax" name="Syntax">语法</h2> + +<pre class="syntaxbox"><em>length</em> = <em>DataTransferItemList</em>.length; +</pre> + +<h3 id="Return_Value" name="Return_Value">值</h3> + +<p>列表中拖动项的数量,如果列表为空或禁用则为0。如果列表的{{domxref("DataTransfer")}}对象未与拖动数据存储关联,则认为拖动列表被禁用。</p> + +<h2 id="Example_Drag_and_Drop" name="Example_Drag_and_Drop">示例</h2> + +<p>这个例子演示了<code>length</code> 属性的用法。</p> + +<h3 id="JavaScript">JavaScript</h3> + +<pre class="brush: 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 + var 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(); + var data = ev.dataTransfer.items; + // Loop through the dropped items and log their data + for (var 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(function (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(function (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(function (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"); + var dataList = ev.dataTransfer.items; + // Clear any remaining drag data + dataList.clear(); +} + +</pre> + +<h3 id="HTML">HTML</h3> + +<pre class="brush: 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> +</pre> + +<h3 id="CSS">CSS</h3> + +<pre class="brush: css">div { + margin: 0em; + padding: 2em; +} + +#source { + color: blue; + border: 1px solid black; +} + +#target { + border: 1px solid black; +} +</pre> + +<h3 id="结果">结果</h3> + +<p>{{EmbedLiveSample('Example_Drag_and_Drop')}}</p> + +<p>{{LiveSampleLink('Example_Drag_and_Drop', 'Drag and Drop demo link')}}</p> + +<h2 id="规范">规范</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">规范</th> + <th scope="col">状态</th> + <th scope="col">备注</th> + </tr> + <tr> + <td>{{SpecName('HTML WHATWG', 'interaction.html#dom-datatransferitemlist-length','length')}}</td> + <td>{{Spec2('HTML WHATWG')}}</td> + <td></td> + </tr> + <tr> + <td>{{SpecName('HTML5.1', 'editing.html#dom-datatransferitemlist-length','length')}}</td> + <td>{{Spec2('HTML5.1')}}</td> + <td>Not included in W3C HTML5 {{Spec2('HTML5 W3C')}}</td> + </tr> + <tr> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility">Browser compatibility</h2> + + + +<p>{{Compat("api.DataTransferItemList.length")}}</p> + +<div>{{APIRef("HTML Drag and Drop API")}}</div> |
