Drag Drop Changing Mouse pointer

good js browser variant code

by Ben Clayton

HTML

<div id="Dropzone">Dropzone</div>
        <a draggable="true" href="#" id="Dragme">Drag Me</a>

CSS

*[draggable=true] {
  -moz-user-select: none;
  -khtml-user-drag: element;
  -webkit-user-drag: element;
  -khtml-user-select: none;
  -webkit-user-select: none;
  cursor: move;
}

#Dragme {
  background-color: #90ee90;
  border: solid 2px #006400;
  cursor: pointer;
  display: block;
  height: 70px;
  width: 70px;

}

#Dropzone {
  background-color: #add8e6;
  border: solid 2px darkblue;
  height: 200px;
  margin-bottom: 14px;
  padding: 7px;
  width: 300px;
}

.drag-icon {
  display: block;
  width: 100px;
  height: 30px;
  border: 2px solid green;
  border-radius: 6px;
  position: absolute;
  top: 0px;
  right: 0;
  transform: scale(10);
}

JavaScript

var EventUtil = {
    addHandler: function(element, type, handler) {
        if (element.addEventListener) {
            element.addEventListener(type, handler, false);
        } else if (element.attachEvent) {
            element.attachEvent("on" + type, handler);
        } else {
            element["on" + type] = handler;
        }
    },
    removeHandler: function(element, type, handler) {
        if (element.removeEventListener) {
            element.removeEventListener(type, handler, false);
        } else if (element.detachEvent) {
            element.detachEvent("on" + type, handler);
        } else {
            element["on" + type] = null;
        }
    },
    getCurrentTarget: function(e) {
        if (e.toElement) {
            return e.toElement;
        } else if (e.currentTarget) {
            return e.currentTarget;
        } else if (e.srcElement) {
            return e.srcElement;
        } else {
            return null;
        }
    },
    preventDefault: function(e) {
        e.preventDefault ? e.preventDefault() : e.returnValue = false;
    },

    /**
     * @author http://www.quirksmode.org/js/events_properties.html
     * @method getMousePosition
     * @param e
     */
    getMousePosition: function(e) {
        var posx = 0,
            posy = 0;
        if (!e) {
            e = window.event;
        }

        if (e.pageX || e.pageY) {
            posx = e.pageX;
            posy = e.pageY;
        }
        else if (e.clientX || e.clientY) {
            posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
            posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
        }

        return {
            x: posx,
            y: posy
        };
    }

};



var dm = document.getElementById('Dragme'),
    dragEffect = 'copyMove',
    dropEffect = 'copy',
    format = 'Text';

EventUtil.addHandler(dm, 'dragstart', function(e) {

    e.dataTransfer.setData(format,...