DataTransferItemList.length
此屬性可以返回集合中專案的數量,也就是傳遞資料的數量。
關於DataTransferItemList集合可以參閱DataTransferItemList 集合一章節。
語法結構:
[JavaScript] 純文字檢視 複製程式碼let num = DataTransferItemList.length
此屬性比較簡單,下面通過一段程式碼例項進行演示。
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> p{ width:100px; height:50px; background-color:red; } #box { width:300px; height:100px; background-color:#ccc; } </style> <script> window.onload = (ev) => { let odiv=document.getElementById("box"); let op=document.getElementById("p"); op.ondragstart = (ev) => { ev.dataTransfer.setData("text/plain",ev.target.id); ev.dataTransfer.setData("text/uri-list","http://www.softwhy.com"); } odiv.ondragover = (ev) => { ev.preventDefault(); } odiv.ondrop = (ev) => { ev.preventDefault(); ev.stopPropagation(); let itemList = ev.dataTransfer.items; console.log(itemList.length); } } </script> </head> <body> <p draggable="true" id="p"></p> <div id="box"></div> </body> </html>
拖動P元素進入Div元素中,然後鬆開滑鼠,檢視控制檯列印資訊:
可以看到上述程式碼中,傳遞的資料為兩條,通過setData()方法設定的。
當然傳遞的資料並非都要通過此方法設定,比如拖動文字和從作業系統向瀏覽器拖拽檔案。