ada*_*orp 11 jquery fullcalendar
我知道之前已经问过这个问题,但从那时起已经发布了几个新版本.
是否可以处理dblclick事件以在日历中创建新约会而无需修改fullcalendar.js文件?与我的其他调整一起在单独的文件中处理此扩展会很棒.
提前致谢!
/亚当
Jua*_*les 28
Adam的帖子位于https://code.google.com/p/fullcalendar/issues/detail?id=231,使用此解决方案.
在任何可能的情况下,我都希望将事情排除在fullcalendar的核心之外,让人们通过api来完成它们.我将eventClick/eventMouseover/eventMouseout作为核心的一部分的唯一原因是b/c它们涉及一些特殊情况,例如与jquery ui拖动和调整大小冲突,所以我需要做一些检查这些类的事情.
我认为附加事件处理程序(如dblclick)的最佳方法是通过eventRender,如下所示:
$('#calendar').fullCalendar({
eventRender: function(event, element) {
element.bind('dblclick', function() {
alert('double click!');
});
}
})
Run Code Online (Sandbox Code Playgroud)
如果您有不同的感受,请告诉我.谢谢
我有最新的更新,这对我很有用.
小智 9
我遇到了同样的问题并且不想弄乱核心,所以我在dayClick回调中编写了双击逻辑.
dayClick:function( date, allDay, jsEvent, view ) {
var singleClick = date.toUTCString();
if(doubleClick==singleClick){
console.log('Double-click!');
doubleClick = null;
}else{
doubleClick=date.toUTCString();
clearInterval(clickTimer);
clickTimer = setInterval(function(){
doubleClick = null;
clearInterval(clickTimer);
}, 500);
}
}
Run Code Online (Sandbox Code Playgroud)
clickTimer并doubleClick在调用之前声明初始化日历.
只是为了补充Juan Gonzales的答案:
$("#calendar").fullCalendar({
dayRender: function(date, element, view){
element.bind('dblclick', function() {
alert('double click!');
});
}
});
Run Code Online (Sandbox Code Playgroud)
此代码将为dblclick整个"day"事件创建事件.
以下代码显示了事件和日期的双击事件。 对于一天,您需要双击日期单元格的下侧(下半部分)。我不知道背后的原因
$('#fullcalendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay',
},
events: this.EventList,
defaultView: 'month',
editable: true,
//for event double click
eventRender:function(event,element){
element.bind('dblclick',function(){
alert('double click event')
});
},
//for day double click
dayRender:function(date,cell)
{
cell.bind('dblclick',function(){
alert(date)
})
}
})
Run Code Online (Sandbox Code Playgroud)