有关Javascript把元素移动指定位置删除的相关问题

2025-12-05 15:59:19
推荐回答(2个)
回答1:

function mouseUp(ev){

    //dragObject = null;

    if(dragObject){
        //获取event对象,兼容性写法
        ev           = ev || window.event;
        var mousePos = mouseCoords(ev); //获取当前移动对象的x,y坐标信息
        //获取当前移动对象的标签的droptarget信息
        var dT = dragObject.getAttribute('droptarget');
        if(dT){
            var targObj = document.getElementById(dT);
            //获取垃圾桶图标的的坐标信息
            var objPos  = getPosition(targObj);
            //如果移动对象和垃圾桶图标重叠
            if((mousePos.x > objPos.x) && (mousePos.y > objPos.y) 
&& (mousePos.x<(objPos.x+parseInt(targObj.offsetWidth)))
 && (mousePos.y<(objPos.y+parseInt(targObj.offsetHeight)))){
                //获取垃圾桶对象的newSrc的值
                var nSrc = targObj.getAttribute('newSrc');
                if(nSrc){
                    //改变垃圾桶图标为newSrc的值
                    dragObject.src = nSrc;
                    setTimeout(function(){
                        //如果dragObject不存在或者父节点不存在直接返回
                        //这段代码基本不执行,因为父节点本事就不存在,可能是想实现什么东西后来删除了吧
                        if(!dragObject || !dragObject.parentNode) return;
                        dragObject.parentNode.removeChild(dragObject);
                        dragObject = null;
                    }, parseInt(targObj.getAttribute('timeout')));
                } else {
                    dragObject.parentNode.removeChild(dragObject);
                }
            }
        }
    }
    //移动完复制为null
    dragObject = null;

    iMouseDown = false;
}


凑活写了下,不懂接着问。

回答2:

鼠标按下事件