自认为写在onmousedown中应该没问题,因为onmousedown事件是鼠标按下之后响应,而onmousemove是指鼠标移动的时候响应,移动的时候还会产生大量事件 所以估计不会冲突吧 如果需求能改变,不知能否用onmouseout或者onmouseup 试试吧 本意见仅供参考

解决方案 »

  1.   

    onclick = 鼠标按下再放开
    onmousedown = 鼠标左键或右键按下
    onmouseup = 鼠标左键或右键放开
    ondblclick = 鼠标左键双击你的问题有2种解法:
    1:使用ondblclick事件进行数据传递,这样就和拖曳没关系了2:设置状态标记 例:
    var isMoveed = false;
    function XXX.onmousedown(){isMoveed=false;}
    function XXX.onmousemove(){isMoveed=true;}
    function XXX.onmouseup(){
        if(!isMoveed)
        {
            数据传递过程;
            isMoveed=false;
        }
    }
    当按下鼠标的时候修改状态标记为否!
    当鼠标移动时候时修改状态标记为真!
    当释放鼠标时判断状态标记.为否的时候则说明没有移动过,这时候就进行数据传递.如果状态标记为真则说明已经移动过.要怎么处理应该很清楚了吧.