Fullcalendar 句柄双击
Fullcalendar handle double click
我正在使用 fullcalendar 来实现我的日历功能。我正在使用 dayClick
和 select
。在全日历中,select 将被调用,即使它是单日点击。所以,我像下面这样更改了 dayClick 事件来处理当天的点击。这是我的代码
dayClick: function(date, jsEvent, view) {
isClicked = true;
},
select: function(startDate, endDate){
if(isClicked){
console.log('click');
return;
}
var start_date = moment(startDate).format('Y-MM-DD');
var end_date = moment(endDate).format('Y-MM-DD');
if(start_date != end_date){
end_date = moment(endDate).subtract(1, 'days').format('Y-MM-DD');
}
var set_default_duration = isClicked == true ? true : false ;
isClicked = false;
var user = $(t).attr('data-code');
// Some other stuff
},
实际上,我想处理双击创建新事件。我在日历中尝试使用 jquery 中的 dblclick
事件函数,但始终只单击一次即可触发。问题是,点击后立即触发 select,所以我无法处理双击。有人可以帮我处理这种情况下的双击吗?
这是Fiddle
编辑:我正在尝试处理双击空槽以创建新事件。目前,单击是这样做的
好吧,您可以分配一个名为 clickedTimes 或类似名称的新变量,并将其设置为零。
每当获得点击时,将 clickedTimes 设置为 1,然后设置为 2,然后检查 clickedTimes 是否为 2。
当它达到二时,让它做你想做的事,然后将其设置回零。
我找到了答案。问题在于选择。单击日期后将选中它。所以,我使用 unselect 方法来清除选择,现在看起来很好。这是代码
dayClick: function(date, jsEvent, view) {
if(isClicked){
isDblClicked = true;
isClicked = false;
}
else{
isClicked = true;
}
setTimeout(function(){
isClicked = false;
}, 250);
},
select: function(startDate, endDate, jsEvent){
if(isClicked){
$(t).fullCalendar('unselect');
return;
}
// Other stuff
}
我正在使用 fullcalendar 来实现我的日历功能。我正在使用 dayClick
和 select
。在全日历中,select 将被调用,即使它是单日点击。所以,我像下面这样更改了 dayClick 事件来处理当天的点击。这是我的代码
dayClick: function(date, jsEvent, view) {
isClicked = true;
},
select: function(startDate, endDate){
if(isClicked){
console.log('click');
return;
}
var start_date = moment(startDate).format('Y-MM-DD');
var end_date = moment(endDate).format('Y-MM-DD');
if(start_date != end_date){
end_date = moment(endDate).subtract(1, 'days').format('Y-MM-DD');
}
var set_default_duration = isClicked == true ? true : false ;
isClicked = false;
var user = $(t).attr('data-code');
// Some other stuff
},
实际上,我想处理双击创建新事件。我在日历中尝试使用 jquery 中的 dblclick
事件函数,但始终只单击一次即可触发。问题是,点击后立即触发 select,所以我无法处理双击。有人可以帮我处理这种情况下的双击吗?
这是Fiddle
编辑:我正在尝试处理双击空槽以创建新事件。目前,单击是这样做的
好吧,您可以分配一个名为 clickedTimes 或类似名称的新变量,并将其设置为零。 每当获得点击时,将 clickedTimes 设置为 1,然后设置为 2,然后检查 clickedTimes 是否为 2。 当它达到二时,让它做你想做的事,然后将其设置回零。
我找到了答案。问题在于选择。单击日期后将选中它。所以,我使用 unselect 方法来清除选择,现在看起来很好。这是代码
dayClick: function(date, jsEvent, view) {
if(isClicked){
isDblClicked = true;
isClicked = false;
}
else{
isClicked = true;
}
setTimeout(function(){
isClicked = false;
}, 250);
},
select: function(startDate, endDate, jsEvent){
if(isClicked){
$(t).fullCalendar('unselect');
return;
}
// Other stuff
}