<?xml version="1.0" encoding="utf-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>SVG image drag and drop: allowed effects 'copy','move','link'</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 = ['copy','move','link'], i = 0;
function dropSelection(event)
	{event.target.appendChild(document.createTextNode((event.dataTransfer.dropEffect == effects[i] &amp;&amp; event.dataTransfer.effectAllowed == effects[i])?' PASS ':' FAIL '));
	i = (i + 1)%3;}
function start(event)
	{event.dataTransfer.effectAllowed = effects[i]}
</script>
</head>
<body onload="selectText()">
<p><img ondragstart="start(event)" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20width%3D%22100px%22%20height%3D%22100px%22%20viewBox%3D%220%200%20100%20100%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22green%22/%3E%3C/svg%3E" alt="SVG circle"/></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 circle and drop it onto any of the green boxes.</p>
</body>
</html>