2010-08-03 164 views
3

我注意到当我试图实现dayClick:和那里的选择函数似乎有碰撞的地方。FullCalendar dayClick功能与选择功能冲突

这是一些缩小的代码。

// WHEN YOU SELECT MULTIPLE DAYS 
      select: function(start, end, allDay) { 
       var title = prompt('New Select Date:'); 
       if(title) { 
        calendar.fullCalendar('renderEvent', 
         { 
          title: title, 
          start: start, 
          end: end, 
          allDay: allDay 
         }, true); 
       calendar.fullCalendar('unselect'); 
       alert("end of select"); 
       } 
      }, 

      // ADDING A NEW EVENT 
      dayClick: function (date) { 
       alert("Day ("+ date +") was clicked"); 
      }, 

因此,当我每天“点击”时,它会提醒我哪一个很好,但随后它会提示SELECT功能提示。

因此它运行一个ALERT,然后是一个PROMPT窗口。我不确定它为什么这样做,我没有能够缩小推理的范围,也许其他人也有类似的问题?

如果您遇到修复或相同问题,请让我知道。 干杯。

回答

5

我发现你不需要有SELECT + DAYCLICK来创建新事件。 选择作品即使是1天或更多。所以当我点击一天时,它提示两者。巴,小问题,但至少我明白了。

我没有在文档中看到它,如果它在那里。 希望它可以帮助别人。

干杯。

2

由于贾斯汀说你只需要选择而不是dayClick,因为两者似乎都被触发了。不过,在我看来,比如智能手机需要dayClick,因为如果您只点击一个日期,智能手机就不会触发该选择。我没有测试过,所以它可以是我的代码的东西,但它已经发生在我身上两次了,我不知道如何排除它。

我想,我想出了一个可能的解决方案,其计算方法如下:

dayClick: function(date, jsEvent, view) { 
    if(jsEvent.originalEvent.type=="touchend") { 
     $('#calendar').fullCalendar('select', date); 
    } 
}, 
select: function(start, end, jsEvent, view) { 
    clickOrSelect(start, end, jsEvent, view); 
} 
function clickOrSelect(start, end, jsEvent, view) { 
    //put code for both events here 
} 
+0

相信他们都是touchend事件,这样..我不知道为什么这工作。 – Miguel 2018-03-06 16:59:48