首页 > 鼠标移动事件,第二次无效,求解

鼠标移动事件,第二次无效,求解

这段代码第一次执行的时候正常,但第二次就无效,求解

var cir = document.getElementsByClassName("circle")[0];
cir.onmousedown = function( event ){
    var disX = event.clientX - cir.offsetLeft;
    var disY = event.clientY - cir.offsetTop;
    document.onmousemove = function( event ){
            cir.style.left = ( event.clientX - disX ) + "px";
            cir.style.top = ( event.clientY - disY ) + "px";
            return false;
        }
    }
    document.onmouseup = function(){
        cir.onmousedown = null;
        document.onmousemove = null;
    }

你为啥要在onmouseup 中把cir.onmousedown置为null? 注释掉这行试试

修改后的代码: http://codepen.io/anon/pen/vX...


document.onmouseup = function(){
    cir.onmousedown = null;
    document.onmousemove = null;
}

你都取消了还怎么可能有效呢


因为你鼠标松开事件设置了cir.onmousedown = null;document.onmousemove = null;

【热门文章】
【热门文章】