Baseline Widely available
ãã©ãã°ãçºçããã¨ããã©ãã°å¯¾è±¡ï¼dragstart
ã¤ãã³ããçºçããè¦ç´ ï¼ããåéæã®ç»åãçæããããã©ãã°ä¸ã«ãã¦ã¹ãã¤ã³ã¿ã¼ã«æ²¿ã£ã¦ç§»åãã¾ãããã®ç»åã¯èªåçã«ä½æãããã®ã§ãèªåã§ä½æããå¿
è¦ã¯ããã¾ããããã ããã«ã¹ã¿ã ç»åãå¿
è¦ãªå ´åã¯ãDataTransfer.setDragImage()
ã¡ã½ããã使ç¨ãã¦ã使ç¨ããã«ã¹ã¿ã ç»åãè¨å®ãããã¨ãã§ãã¾ããç»åã¯é常ã <image>
è¦ç´ ã«ãªãã¾ããã <canvas>
ããã®ä»ã®å¯è¦è¦ç´ ã§ãã£ã¦ãæ§ãã¾ããã
ã¡ã½ããã® x
座æ¨ã¨ y
座æ¨ã¯ããã¦ã¹ãã¤ã³ã¿ã¼ã«å¯¾ããç»åã®ç¸å¯¾çãªè¡¨ç¤ºæ¹æ³ãå®ç¾©ãã¾ãããããã®åº§æ¨ã¯ããã¦ã¹ã«ã¼ã½ã«ãããã¹ãç»åã®ãªãã»ãããå®ç¾©ãã¾ããä¾ãã°ããã¤ã³ã¿ã¼ãä¸å¿ã«æ¥ãããã«ç»åã表示ããã«ã¯ãç»åã®å¹
ã¨é«ãã®ååã®å¤ã使ç¨ãã¾ãã
ãã®ã¡ã½ãã㯠dragstart
ã¤ãã³ããã³ãã©ã¼å
ã§å¼ã³åºãå¿
è¦ãããã¾ãã
setDragImage(imgElement, xOffset, yOffset);
弿°
imgElement
ãã©ãã°ã®ãã£ã¼ãããã¯ç»åã«ä½¿ç¨ããç»å Element
è¦ç´ ã§ãã
ãã Element
ã img è¦ç´ ã§ããã°ããã©ãã°ãã¼ã¿ã¹ãã¢ã®ããããããã ï¼ãã®è¦ç´ ã«åºæã®ãµã¤ãºã§ï¼ãã®è¦ç´ ã®ç»åã«è¨å®ãã¾ããããã§ãªããã°ããã©ãã°ãã¼ã¿ã¹ãã¢ã®ããããããããä¸ããããè¦ç´ ããçæãããç»åã«è¨å®ãã¾ãï¼ãã®ããã®æ£ç¢ºãªã¡ã«ããºã ã¯ç¾å¨ã®ã¨ããæå®ããã¦ãã¾ããï¼ã
注: ãã Element
ãæ¢åã® HTMLElement
ã§ããã°ããã©ãã°ãã£ã¼ãããã¯ç»åã¨ãã¦è¡¨ç¤ºããããã«ããã¥ã¼ãã¼ãã«è¡¨ç¤ºããã¦ããå¿
è¦ãããã¾ãããããã¯ããã®ç®çã®ããã«ãç»é¢å¤ã«ãããããªæ°ãã DOM è¦ç´ ã使ãããã¨ãã§ãã¾ãã
xOffset
long
ã§ãç»åå
ã®æ°´å¹³æ¹åã®ãªãã»ããã示ãã¾ãã
yOffset
long
ã§ãç»åå
ã®åç´æ¹åã®ãªãã»ããã示ãã¾ãã
ãªã (undefined
)ã
ãã®ä¾ã§ã¯ãsetDragImage()
ã¡ã½ããã®ä½¿ç¨æ¹æ³ã示ãã¾ãããã®ä¾ã§ã¯ example.gif
ã¨ããååã®ç»åãã¡ã¤ã«ãåç
§ãã¦ãããã¨ã«æ³¨æãã¾ãããããã®ãã¡ã¤ã«ãåå¨ããå ´åã¯ãã®ãã¡ã¤ã«ããã©ãã°ç»åã¨ãã¦ä½¿ç¨ããããã®ãã¡ã¤ã«ãåå¨ããªãå ´åã¯ãã©ã¦ã¶ã¼ãæ¢å®ã®ãã©ãã°ç»åã使ç¨ãã¾ãã
<!DOCTYPE html>
<html lang=en>
<title>Example of DataTransfer.setDragImage()</title>
<meta name="viewport" content="width=device-width">
<style>
div {
margin: 0em;
padding: 2em;
}
#source {
color: blue;
border: 1px solid black;
}
#target {
border: 1px solid black;
}
</style>
<script>
function dragstart_handler(ev) {
console.log("dragStart");
// ãã©ãã°ã®ãã©ã¼ãããã¨ãã¼ã¿ãè¨å®ãã¾ãããã¼ã¿ã«ã¯ã¤ãã³ãã¿ã¼ã²ããã® ID ã使ç¨ãã¾ãã
ev.dataTransfer.setData("text/plain", ev.target.id);
// ç»åã使ãã¦ãã©ãã°ç»åã«ä½¿ç¨ãã
// 注æ: "example.gif" ãæ¢åã®ç»åã«å¤æ´ããªãã¨ç»åã使ãããã
// ããã©ã«ãã®ãã©ãã°ç»åã使ç¨ããã¾ãã
const img = new Image();
img.src = 'example.gif';
ev.dataTransfer.setDragImage(img, 10, 10);
}
function dragover_handler(ev) {
console.log("dragOver");
ev.preventDefault();
}
function drop_handler(ev) {
console.log("Drop");
ev.preventDefault();
// ãããã対象ã®IDã§ãããã¼ã¿ãåå¾ãã¾ãã
const data = ev.dataTransfer.getData("text");
ev.target.appendChild(document.getElementById(data));
}
</script>
<body>
<h1>Example of <code>DataTransfer.setDragImage()</code></h1>
<div>
<p id="source" ondragstart="dragstart_handler(event);" draggable="true">
ãã®è¦ç´ ã鏿ããããããã¾ã¼ã³ã«ãã©ãã°ãã¦ããæ¾ãã¨è¦ç´ ãç§»åãã¾ãã</p>
</div>
<div id="target" ondrop="drop_handler(event);" ondragover="dragover_handler(event);">ããããã¾ã¼ã³</div>
</body>
</html>
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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