所有拖放事件的事件侦听器方法都接受具有名为dataTransfer的只读属性的Event对象。event.dataTransfer返回与事件关联的DataTransfer对象,如下所示:
function EnterHandler(event) { DataTransfer dt = event.dataTransfer; … }
您可以尝试运行以下代码来实现DataTransfer对象:
<!DOCTYPE HTML> <html> <head> <style> #boxA, #boxB { float:left;padding:10px;margin:10px; -moz-user-select:none; } #boxA { background-color: #6633FF; width:75px; height:75px; } #boxB { background-color: #FF6699; width:150px; height:150px; } </style> <script> function dragStart(ev) { ev.dataTransfer.effectAllowed='move'; ev.dataTransfer.setData("Text", ev.target.getAttribute('id')); ev.dataTransfer.setDragImage(ev.target,0,0); return true; } </script> </head> <body> <center> <h2>Drag and drop HTML5 demo</h2> <div>Try to drag the purple box around.</div> <div id = "boxA" draggable = "true" ondragstart = "return dragStart(ev)"> <p>Drag Me</p> </div> <div id = "boxB">Dustbin</div> </center> </body> </html>