Baseline Widely available
åçæå¨æ¶ï¼ä»æå¨ç®æ (dragstart
äºä»¶è§¦åçå
ç´ ) çæåéæå¾åï¼å¹¶å¨æå¨è¿ç¨ä¸è·éé¼ æ æéãè¿ä¸ªå¾çæ¯èªå¨å建çï¼ä½ ä¸éè¦èªå·±å»å建å®ãç¶èï¼å¦ææ³è¦è®¾ç½®ä¸ºèªå®ä¹å¾åï¼é£ä¹ DataTransfer.setDragImage()
æ¹æ³å°±è½æ´¾ä¸ç¨åºã
å¾åé常æ¯ä¸ä¸ª <image>
å
ç´ ï¼ä½ä¹å¯ä»¥æ¯<canvas>
æä»»ä½å
¶ä»å¾åå
ç´ ãè¯¥æ¹æ³ç x å y åæ æ¯å¾ååºè¯¥ç¸å¯¹äºé¼ æ æéåºç°çåç§»éã
åæ æå®é¼ æ æéç¸å¯¹äºå¾ççåç§»éãä¾å¦ï¼è¦ä½¿å¾åå± ä¸ï¼è¯·ä½¿ç¨å¾å宽度åé«åº¦çä¸åã
éå¸¸å¨ dragstart
äºä»¶å¤çç¨åºä¸è°ç¨æ¤æ¹æ³ã
setDragImage(imgElement, xOffset, yOffset)
åæ°
ç¨äºææ³åé¦å¾åçå¾å Element
å
ç´ ã
妿 Element æ¯ä¸ä¸ª img å ç´ ï¼åå°æå¨ä½å¾è®¾ç½®ä¸ºè¯¥å ç´ çå¾åï¼ä¿æå¤§å°ï¼ï¼å¦åï¼å°æå¨æ°ä½å¾è®¾ç½®ä¸ºä»ç»å®å ç´ æçæçå¾çï¼å½åå°æªæå®æ§è¡æ¤æä½çç¡®åæºå¶ï¼
ä½¿ç¨ long
æç¤ºç¸å¯¹äºå¾ççæ¨ªååç§»é
ä½¿ç¨ long
æç¤ºç¸å¯¹äºå¾çç纵ååç§»é
æ
示ä¾è¿ä¸ªä¾åå±ç¤ºå¦ä½ä½¿ç¨ 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" 为ä¸ä¸ªå·²ç»åå¨çå¾ç
// æè
ï¼ä¸ä¸ªè¿æ²¡æåå»ºåºæ¥çå¾çï¼é£ä¹æµè§å¨å°ä¼ä½¿ç¨é»è®¤çæå¨å¾ç
// è¯è
注ï¼é»è®¤çæå¨å¾ç䏿å¨å¯¹è±¡æ²¡æèç³»ãä¸è¬æ¯ä¸ä¸ªå°åæä»¶å¾æ
var 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 æ°æ®
var 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">
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>
</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