2011-04-29 86 views
1

我已經成功實現了將jquery-ui元素拖放到我的fullCalendar上。問題是,我想放在日曆上不是日曆本身,而是日曆上顯示的特定事件,以便將丟棄的項目添加到事件中。缺失的部分是如何確定掉落時鼠標下的事件。放棄事件(而不是日曆) - 如何識別事件?

drop: function (date, allDay, jsEvent, ui) 
{ 
    var event = ???; 
    event.description += ui.helper.data("filters").text; 
    $('#calendar').fullCalendar('updateEvent', event); 
} 

回答

5

我發現瞭解決方案。基本上你必須添加「droppable」到事件元素。爲您的解決方案三江源 - 我這樣做是通過捕捉「eventRender」(我想這是一個好去處)...

eventRender: function (event, element) 
{ 
    // store the ID for later... 
    $(element).data('id', event.id); 
    element.droppable({ 
     drop: function (event, ui) 
     { 
      // get the ID I stored above... 
      var rowID = $(this).data('id'); 
+0

或者,如果您沒有通過使用javascript事件參數的相同名稱來破壞原始「事件」參數,則只需從js上下文中獲取event.id即可。 – 2016-04-02 21:50:41

0

我實現了這個!

我使用它與drop組合 - 我需要能夠將事件放到另一個事件或日期上。

在我的情況下添加event.stopPropogation();在element.droppable下降是必要的,以停止日期下降功能也觸發。

+0

或者你也可以使用Jquery UI中的「範圍」選項來讓可拖動的對象僅被丟棄事件 http://api.jqueryui.com/draggable/#option-scope – alaasdk 2013-11-03 10:39:49