DataTransferItemList.remove()
此方法可以刪除DataTransferItemList集合中指定索引位置的項,索引從0開始計算。
DataTransferItemList總體介紹可以參閱DataTransferItemList 集合一章節。
特別說明:此方法只能用在dragstart事件處理函式中。
語法結構:
[JavaScript] 純文字檢視 複製程式碼DataTransferItemList.remove(index)
引數解析:
(1).index:要刪除資料項的在集合中的索引位置。
程式碼例項如下:
[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"); // 測試效果 let itemList = ev.dataTransfer.items; itemList.remove(1); itemList[0].getAsString(function(str){ console.log(str); }) } odiv.ondragover = (ev) => { ev.preventDefault(); } odiv.ondrop = (ev) => { ev.preventDefault(); ev.stopPropagation(); } } </script> </head> <body> <p draggable="true" id="p"></p> <div id="box"></div> </body> </html>
上述程式碼刪除了集合中索引為1的專案,谷歌控制檯執行效果截圖如下:
程式碼分析如下:
(1).let itemList = ev.dataTransfer.items獲取DataTransferItemList型別集合。
(2).DataTransferItemList集合中的每一項表示傳遞的一個資料。
(3).itemList.remove(1)刪除集合中索引為1的項,也就是"text/uri-list"型別的資料。
(4).然後通過getAsString()方法列印出剩餘傳遞的值。