| <!DOCTYPE html> | |
| <html> | |
| <meta name="viewport" content="width=device-width"> | |
| <head> | |
| <style> | |
| body, html { | |
| width: 100%; | |
| height: 100%; | |
| } | |
| body { | |
| margin: 0; | |
| } | |
| #red { | |
| background-color: red; | |
| width: 300px; | |
| height: 100px; | |
| } | |
| #green { | |
| background-color: green; | |
| width: 300px; | |
| height: 100px; | |
| } | |
| #blue { | |
| background-color: blue; | |
| width: 300px; | |
| height: 100px; | |
| } | |
| #cyan { | |
| background-color: cyan; | |
| width: 300px; | |
| height: 100px; | |
| } | |
| </style> | |
| </head> | |
| <div id="red" draggable="true"></div> | |
| <div id="green" draggable="true"></div> | |
| <div id="blue" draggable="true"></div> | |
| <div id="cyan" draggable="true"></div> | |
| <img id="icon" src="icon.png"></img> | |
| <div><code>To manually test, attempt to drag each of the colored blocks.</code></div> | |
| <script> | |
| red.addEventListener("dragstart", event => { | |
| event.dataTransfer.setDragImage(icon, 0, 0); | |
| event.dataTransfer.setData("text/plain", "red"); | |
| }); | |
| green.addEventListener("dragstart", event => { | |
| event.dataTransfer.setDragImage(icon, 100, 100); | |
| event.dataTransfer.setData("text/plain", "green"); | |
| }); | |
| blue.addEventListener("dragstart", event => { | |
| let image = new Image(); | |
| image.src = icon.src; | |
| event.dataTransfer.setDragImage(image, 0, 0); | |
| event.dataTransfer.setData("text/plain", "blue"); | |
| }); | |
| cyan.addEventListener("dragstart", event => { | |
| event.dataTransfer.setData("text/plain", "cyan"); | |
| }); | |
| </script> | |
| </html> |