mousedown和mouseover不能同时执行吗? 我想做一个, 当鼠标按下的时候, 拖动, 可以把DIV复选, 但是在mousedown的情况下, mouseover不被触发. 有什么解决办法么?

解决方案 »

  1.   

    function createDayScheduleTable()
    {
    ScheduleTable=$("<div></div>").css({'width':'300px', 'height':'400px', 'background':'black' ,'position': 'absolute','overflow':'hidden'});

    ScheduleTable.bind('mousedown',function(){
    isMouseDownOnScheduleTable=1;
    });

    ScheduleTable.bind('mouseup',function(){
    isMouseDownOnScheduleTable=0;
    });

    /**
    ScheduleTable.mousedown(function(){
    isMouseDownOnScheduleTable=1;
    });
    ScheduleTable.mouseup(function(){
    isMouseDownOnScheduleTable=0;
    });
    **/

    for(var i=0;i<24;i++)
    {
    var temp=$("<div>"+i+"</div>").css({'width':'100%', 'height':'3%', 'background':'red' ,'overflow':'hidden'});
    temp.append(includeDivAction);
    ScheduleTable.append(temp);
    var tempBlank=$("<div></div>").css({'width':'100%', 'height':'1%', 'background':'black' ,'overflow':'hidden'});
    ScheduleTable.append(tempBlank);
    }

    var closeBot=$("<div>close</div>").css({'width':'100%', 'height':'3%', 'background':'red' ,'overflow':'hidden','cursor': 'pointer'});
    ScheduleTable.append(closeBot);

    closeBot.click(function () {
    ScheduleTable.hide();
    });

    }//设计框住小时的事件
    function includeDivAction()
    {
    $(this).mouseover(function (){
    if(isMouseDownOnScheduleTable==1)
    {
    $(this).css({'background':'blue'});
    }
    });
    }
      

  2.   

    最有意思的是
    ScheduleTable.mousedown(function(){
    alert(isMouseDownOnScheduleTable);
    isMouseDownOnScheduleTable=1;
    });就正常了
      

  3.   

    jquery 我没用过。我觉得你是“上下文环境”没搞清楚,你在 includeDivAction 函数内部设断点,看一下this指针是否指向你想要的元素。
      

  4.   

    存在加载缓冲,很难达到效果,可以使用jQuery框架来做