004.xhtml (1688B)
1 <?xml version="1.0" encoding="utf-8"?> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <title>Drag and drop from object: dropping block element onto canvas</title> 5 <style type="text/css"> 6 object 7 {width:150px; 8 height:150px; 9 border-style:none;} 10 </style> 11 <script type="application/ecmascript"> 12 function paint(color) 13 {var canvas = document.querySelector('canvas'), 14 c = canvas.getContext('2d'); 15 c.fillStyle = color; 16 c.beginPath(); 17 c.moveTo(0,0); 18 c.lineTo(100,0); 19 c.lineTo(100,100); 20 c.lineTo(0,100); 21 c.closePath(); 22 c.fill();} 23 function start(event) 24 {event.dataTransfer.effectAllowed = 'copy'; 25 event.dataTransfer.setData('text/plain', 'green');} 26 </script> 27 </head> 28 <body onload="paint('gray')"> 29 <p><object type="application/xhtml+xml" data="data:application/xhtml+xml,%3Chtml%20xmlns%3D%22http%3A//www.w3.org/1999/xhtml%22%3E%3Chead%3E%3Ctitle%3ECanvas%20drag%20and%20drop%3C/title%3E%3Cstyle%20type%3D%22text/css%22%3Ediv%7Bwidth%3A20px%3Bheight%3A20px%3Bbackground-color%3Agreen%3B%7D%3C/style%3E%3Cscript%20type%3D%22application/ecmascript%22%3Efunction%20start%28event%29%7Bevent.dataTransfer.effectAllowed%20%3D%20%27copy%27%3Bevent.dataTransfer.setData%28%27text/plain%27%2C%20%27green%27%29%3B%7D%3C/script%3E%3C/head%3E%3Cbody%3E%3Cdiv%20draggable%3D%22true%22%20ondragstart%3D%22start%28event%29%22/%3E%3C/body%3E%3C/html%3E">Green box</object></p> 30 <p>Drag green box above to the gray canvas below. Canvas should turn green when you drop green box on it.</p> 31 <p> 32 <canvas width="100" height="100" ondragenter="event.preventDefault()" ondragover="return false" ondrop="paint(event.dataTransfer.getData('text/plain'))">Canvas</canvas> 33 </p> 34 </body> 35 </html>