js drag element event

function mYfunction(id){
    var oDiv = document.getElementById(id);
    oDiv.onmousedown = function (ev) {
        var ev = ev || event;
var disX = ev.clientX;
var disY = ev.clientY;
var l = oDiv.offsetLeft;
var t = oDiv.offsetTop;
if (oDiv.setCapture) {                                        
            oDiv.setCapture () ;
        }
        document.onmousemove = function (ev) {
             // Why document is used here, because the mouse will be lost if you drag and drop quickly,
 var ev = ev || event ;
 oDiv.style.left = ev.clientX - disX+l + "px " ;
 oDiv.style.top = ev.clientY - disY+t+ "px" ;
 }                                            
        document.onmouseup = function (ev) {
            document.onmousemove = document.onmouseup = null ;
 // Why not use oDiv.onmouseup because the blocked element will be ignored after being blocked
 if (oDiv.releaseCapture) {                        

                oDiv.releaseCapture () ;
            }
        }
        return false;
    }
}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325483630&siteId=291194637