我使用的是fullcalendar,单击特定的时间单元格时,我会打开一个颜色框,当用户双击同一单元格时会出现问题,导致同一页面在颜色框中出现两次。
当在chrome中执行并在特定时间双击时,以下代码的输出为-
发生点击的日期
已进行选择
发生点击的日期
选择进行
$('#calendar').fullCalendar({
header: {
left: 'prev,next',
center: 'title',
right: ''
},
height: 500,
defaultView: 'agendaWeek',
minTime: 0,
firstHour : 9,
maxTime: 24,
firstDay : 1,
allDaySlot: false,
axisFormat: 'H:mm',
timeFormat: 'HH:mm{-HH:mm}',
disableDragging: true,
eventClick: function(calEvent, jsEvent, view) {
console.log('event clicked');
},
selectable: true,
eventSources : [
{
url : '/XXX/yyyyy',
editable : true,
allDayDefault : false
}
],
eventRender: function(event, element) {
element.bind('dblclick', function() {
console.log('dbl clicked');
});
element.draggable = false;
event.editable = false;
},
select: function(start,end,title,jsEvent) {
console.log('selection is made');
} ,
dayClick: function(start,end,event,element) {
console.log('day click happened');
},
eventMouseover: function(calEvent, jsEvent) {
console.log('event mouse over');
},
eventMouseout: function(calEvent, jsEvent) {
console.log('event mouse out');
},
});
$('#calendar').fullCalendar();
<div id='calendar'>
</div>
我正在寻找防止双击的解决方案。
打开后,您可以检查页面是否已经打开,并在这种情况下忽略该点击。关闭页面时,您需要重置打开状态,以便打开其他内容。希望这能帮助