2010-08-03 33 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