| <?xml version="1.0" encoding="utf-8"?> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <title>Selection drag and drop: allowed effects 'move','copyMove','linkMove'</title> |
| <style type="text/css"> |
| div |
| {display:inline-block; |
| vertical-align:top; |
| background-color:olive; |
| color:white; |
| padding:20px; |
| width:100px; |
| height:100px;} |
| div:nth-child(2) |
| {background-color:green;} |
| div:nth-child(3) |
| {background-color:teal;} |
| </style> |
| <script type="application/ecmascript"> |
| var effects = ['move','copyMove','linkMove'], i = 0; |
| function selectText() |
| {window.getSelection().selectAllChildren(document.querySelector('p'))} |
| function dropSelection(event) |
| {event.target.appendChild(document.createTextNode((event.dataTransfer.dropEffect == effects[i].substring(0,4) && event.dataTransfer.effectAllowed == effects[i])?' PASS ':' FAIL ')); |
| i = (i + 1)%3; |
| selectText();} |
| function start(event) |
| {event.dataTransfer.effectAllowed = effects[i];} |
| </script> |
| </head> |
| <body onload="selectText()"> |
| <p ondragstart="start(event)">Drag me</p> |
| <div ondragenter="event.preventDefault()" ondragover="return false" ondrop="dropSelection(event)"/> |
| <div ondragenter="event.preventDefault()" ondragover="return false" ondrop="dropSelection(event)"/> |
| <div ondragenter="event.preventDefault()" ondragover="return false" ondrop="dropSelection(event)"/> |
| <p>You should be able to drag selection and drop it onto any of the green boxes.</p> |
| </body> |
| </html> |