Baseline Widely available
DataTransfer.clearData()
ã¡ã½ããã¯ããã©ãã°æä½ã® ãã©ãã°ãã¼ã¿
ã®ä¸ã§æå®ãããåã®ãã®ãåé¤ãã¾ããæå®ãããåã®ãã¼ã¿ãåå¨ããªãå ´åããã®ã¡ã½ããã¯ä½ããã¾ããã
ãã®ã¡ã½ããã弿°ãªãã§å¼ã³åºãããå ´åãã¾ãã¯ãã©ã¼ãããã空æååã§ãã£ãå ´åããã¹ã¦ã®åã®ãã¼ã¿ãåé¤ããã¾ãã
ãã®ã¡ã½ããã¯ãã©ãã°æä½ãããã¡ã¤ã«ãåé¤ããªãã®ã§ããã©ãã°ã«å«ã¾ãããã¡ã¤ã«ãããå ´åã "Files"
åã®é
ç®ããªãã¸ã§ã¯ãã® DataTransfer.types
ã®ä¸è¦§ã«æ®ãå¯è½æ§ãããã¾ãã
ã¡ã¢: ãã®ã¡ã½ããã¯ã dragstart
ã¤ãã³ãã®ãã³ãã©ã¼ã§ã®ã¿ä½¿ç¨ã§ãã¾ãããã©ãã°æä½ã®ãã¼ã¿ã¹ãã¢ãæ¸ãè¾¼ã¿å¯è½ãªã®ã¯ãã®æã ãã ããã§ãã
clearData();
clearData(format);
弿°
format
çç¥å¯
åé¤ãããã¼ã¿ã®åãæå®ããæååããã®å¼æ°ãç©ºã®æååã§ãã£ãããæå®ããã¦ããªãå ´åã¯ããã¹ã¦ã®åã®ãã¼ã¿ãåé¤ããã¾ãã
ãªã (undefined
)ã
ãã®ä¾ã§ã¯ã DataTransfer
ãªãã¸ã§ã¯ãã® getData()
ãsetData()
ãclearData()
ã¡ã½ããã使ç¨ãã¦ãã¾ãã
<span class="tweaked" id="source" draggable="true">
ãã®è¦ç´ ã鏿ããããããã¾ã¼ã³ã«ãã©ãã°ããå¾ã鏿ãè§£é¤ãã¦è¦ç´ ãç§»åãã¦ãã ããã
</span>
<span class="tweaked" id="target">ããããã¾ã¼ã³</span>
<div>ç¶æ
: <span id="status">ãã©ãã°ã§éå§</span></div>
<div>ãã¼ã¿: <span id="data">æªåæå</span></div>
CSS
span.tweaked {
display: inline-block;
margin: 1em 0;
padding: 1em 2em;
}
#source {
color: blue;
border: 1px solid black;
}
#target {
border: 1px solid black;
}
JavaScript
window.addEventListener("DOMContentLoaded", function () {
// HTML è¦ç´ ã鏿ãã
const draggable = document.getElementById("source");
const droppable = document.getElementById("target");
const status = document.getElementById("status");
const data = document.getElementById("data");
let dropped = false;
// ã¤ãã³ããã³ãã©ã¼ãç»é²ãã
draggable.addEventListener("dragstart", dragStartHandler);
draggable.addEventListener("dragend", dragEndHandler);
droppable.addEventListener("dragover", dragOverHandler);
droppable.addEventListener("dragleave", dragLeaveHandler);
droppable.addEventListener("drop", dropHandler);
function dragStartHandler(event) {
status.textContent = "ãã©ãã°ä¸";
// ãã©ãã°ãéå§ããããã¨ã示ãããã«ãã¿ã¼ã²ããè¦ç´ ã®å¢çç·ã夿´ãã
event.currentTarget.style.border = "1px dashed blue";
// æ¢åã®ã¯ãªãããã¼ããã¯ãªã¢ãããã¨ããå§ãã¾ãã
// ç¹å®ã®ã¿ã¤ããæå®ãã¦ããªãã®ã§ãããã¯ãã¹ã¦ã®ã¿ã¤ãã«å½±é¿ãã¾ãã
event.dataTransfer.clearData();
// ãã©ãã°ã®ãã©ã¼ãããã¨ãã¼ã¿ãè¨å®ããï¼ãã¼ã¿ã«ã¯ã¤ãã³ãã¿ã¼ã²ããã® id ã使ç¨ããï¼
event.dataTransfer.setData("text/plain", event.target.id);
data.textContent = event.dataTransfer.getData("text/plain");
}
function dragEndHandler(event) {
if (!dropped) {
status.textContent = "ãã©ãã°ã®ãã£ã³ã»ã«";
}
data.textContent = event.dataTransfer.getData("text/plain") || "empty";
// ãã©ãã°ä¸ã§ã¯ãªããã¨ã示ãããã«å¢çç·ã夿´ãã
event.currentTarget.style.border = "1px solid black";
if (dropped) {
// ãã¹ã¦ã®ã¤ãã³ããªã¹ãã¼ãåé¤
draggable.removeEventListener("dragstart", dragStartHandler);
draggable.removeEventListener("dragend", dragEndHandler);
droppable.removeEventListener("dragover", dragOverHandler);
droppable.removeEventListener("dragleave", dragLeaveHandler);
droppable.removeEventListener("drop", dropHandler);
}
}
function dragOverHandler(event) {
status.textContent = "ããããå¯è½";
event.preventDefault();
}
function dragLeaveHandler(event) {
status.textContent = "ãã©ãã°ä¸ï¼ããããã¯å¯è½ï¼";
event.preventDefault();
}
function dropHandler(event) {
dropped = true;
status.textContent = "ãããããã¾ããã";
event.preventDefault();
// ã¤ãã³ãå½¢å¼ã«é£åãããã¼ã¿ãåå¾ãã « text »
const _data = event.dataTransfer.getData("text/plain");
const element = document.getElementById(_data);
// ã¤ãã³ãã®ã¿ã¼ã²ããè¦ç´ ã«ãã©ãã°ã½ã¼ã¹è¦ç´ ã追å ãã
event.target.appendChild(element);
// CSS ã¹ã¿ã¤ã«ã¨è¡¨ç¤ºããã¹ãã夿´ãã
element.style.cssText =
"border: 1px solid black;display: block; color: red";
element.textContent = "ããããã¾ã¼ã³ã«å
¥ãã¾ãã!";
}
});
çµæ 仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4