如何实现使用鼠标将事件拖到日历中,在日历的某一天上的释放鼠标,获取事件所在日历的日期,精确到天。关于拖动事件的过程已经能够实现,关键是如何获取日期 javascript日历jquery 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 思路是有,就是最后一步麻烦点使用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号上释放的。 还有个讨巧的方法,就是你鼠标释放了后,自动把事件收回,那么鼠标就hover到日期元素上了,日期元素绑定hover事件,判断如果是释放事件div 时hover上的,就添加日期。这样就省掉检测坐标范围。前提是不能用任何东西遮住了日期元素 因为你用“事件”来表述你拖拽的东西容易造成混淆,那么我把你所说的“事件”=“日程任务div”来说鼠标抬起,是mouserup事件,拖拽结束之后,把拖拽的那个“日程任务div”收回到原来位置,用个task变量存着“日程任务div”的id或者其他什么标示符。一般用户鼠标抬起来后,是不会马上移动鼠标的,这时候鼠标就是在日期上,比如指着【1】这时候【1】就出现了一个hover事件,(jquery hover事件有移入移出2个可操作的callback函数)在这个hover事件里,你就可以获取鼠标指着的date=日期,以及刚刚放开的task=“日程任务div”都可以已知了,记录好他们,然后在hover事件移出时候清空task和date,防止用户鼠标移动时其他日期比如【2】hover事件给他们记录上了。请问能具体点吗? yukon12345 兄弟,我现在已经用其他方法获取到了年份和月份,请问怎么获取选中的日期呢?我用了 var myday= $(".fc-day-number").text(); 获取到的是该月份界面显示的所有日期。 一般日历控件要点击日期才会获取日期,要不然怎么确定日期呢?你给日期元素绑定一个hover事件才行。具体来说是 $(function(){ $(".fc-day").hover(function(){ alert($(this).find(".fc-day-number").text()) },function(){ }) }) 你看清楚我的代码了么我用了click么? 说了用hover,你知道hover是什么意思么?mouseup是什么事件? “拖”到里面不一定就真的拖到里面,只是复制了一个你拖动的div的html到fc-day里。我早就说过了,你释放拖动的瞬间,让"任务div"消失掉,鼠标hover到的fc-day,触发hover事件,fc-day里复制一份“任务div"的html进去即可! 既然你用的是 fullcalendar 日历那么拖动对象到日历中的示例就是 demos/basic-views.html 了他有 drop: function(date) 方法用于放置对象到某日的格子中而参数 date 就是放置时的日期 复杂的轿车价格计算: Ext带复选框异步加载的树,数据回填的问题 求jquery对话框插件 IE6 和IE8 iframe刷新问题 请教window.popup 与 window.__popup的区别 求一个代码。显示“操作成功 ?秒后返回”的 Javascript 求助javascript异步问题 window.showDialog的一个问题 请高手回答一个iFrame问题 Window.open(url,name,attributes)的讨论 谷歌浏览器图片不显示。。 jquery 怎么拿到同级元素并包含自己
使用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号上释放的。
日期元素绑定hover事件,判断如果是释放事件div 时hover上的,就添加日期。
这样就省掉检测坐标范围。前提是不能用任何东西遮住了日期元素
因为你用“事件”来表述你拖拽的东西容易造成混淆,那么我把你所说的“事件”=“日程任务div”来说
鼠标抬起,是mouserup事件,拖拽结束之后,把拖拽的那个“日程任务div”收回到原来位置,用个task变量存着“日程任务div”的id或者其他什么标示符。
一般用户鼠标抬起来后,是不会马上移动鼠标的,这时候鼠标就是在日期上,比如指着【1】
这时候【1】就出现了一个hover事件,(jquery hover事件有移入移出2个可操作的callback函数)
在这个hover事件里,
你就可以获取鼠标指着的date=日期,以及刚刚放开的task=“日程任务div”都可以已知了,记录好他们,
然后在hover事件移出时候清空task和date,防止用户鼠标移动时其他日期比如【2】hover事件给他们记录上了。
请问能具体点吗?
具体来说是
$(function(){ $(".fc-day").hover(function(){
alert($(this).find(".fc-day-number").text())
},function(){
})
})
那么拖动对象到日历中的示例就是 demos/basic-views.html 了
他有 drop: function(date) 方法用于放置对象到某日的格子中
而参数 date 就是放置时的日期