解决方案 »

  1.   

    思路是有,就是最后一步麻烦点
    使用jquery
    当你释放鼠标时候,获取鼠标所在的坐标,就是event.pageX 和event.pageY
    获得这个坐标后获取这个日历每个日期元素的所占位置
    比如
    1号的
    offset().left 和offset().top,以及1号元素的.width()和 .height(),
    假如上面4个值分别为100,120,80,80,
    那么这个元素所在的范围就是x:100到180,y:120到200,
    如果鼠标的坐标在这个范围内,就说明是1号上释放的。
      

  2.   

    还有个讨巧的方法,就是你鼠标释放了后,自动把事件收回,那么鼠标就hover到日期元素上了,
    日期元素绑定hover事件,判断如果是释放事件div 时hover上的,就添加日期。
    这样就省掉检测坐标范围。前提是不能用任何东西遮住了日期元素
      

  3.   


    因为你用“事件”来表述你拖拽的东西容易造成混淆,那么我把你所说的“事件”=“日程任务div”来说
    鼠标抬起,是mouserup事件,拖拽结束之后,把拖拽的那个“日程任务div”收回到原来位置,用个task变量存着“日程任务div”的id或者其他什么标示符。
    一般用户鼠标抬起来后,是不会马上移动鼠标的,这时候鼠标就是在日期上,比如指着【1】
    这时候【1】就出现了一个hover事件,(jquery hover事件有移入移出2个可操作的callback函数)
    在这个hover事件里,
    你就可以获取鼠标指着的date=日期,以及刚刚放开的task=“日程任务div”都可以已知了,记录好他们,
    然后在hover事件移出时候清空task和date,防止用户鼠标移动时其他日期比如【2】hover事件给他们记录上了。
    请问能具体点吗?
      

  4.   

    yukon12345 兄弟,我现在已经用其他方法获取到了年份和月份,请问怎么获取选中的日期呢?我用了   var myday= $(".fc-day-number").text();     获取到的是该月份界面显示的所有日期。
      

  5.   

    一般日历控件要点击日期才会获取日期,要不然怎么确定日期呢?你给日期元素绑定一个hover事件才行。
    具体来说是
     $(function(){        $(".fc-day").hover(function(){
                alert($(this).find(".fc-day-number").text())
            },function(){
            })
        })
      

  6.   

    你看清楚我的代码了么我用了click么?
      

  7.   

    说了用hover,你知道hover是什么意思么?mouseup是什么事件?
      

  8.   

    “拖”到里面不一定就真的拖到里面,只是复制了一个你拖动的div的html到fc-day里。我早就说过了,你释放拖动的瞬间,让"任务div"消失掉,鼠标hover到的fc-day,触发hover事件,fc-day里复制一份“任务div"的html进去即可!
      

  9.   

    既然你用的是 fullcalendar 日历
    那么拖动对象到日历中的示例就是 demos/basic-views.html 了
    他有 drop: function(date) 方法用于放置对象到某日的格子中
    而参数 date 就是放置时的日期