Полный календарь jQuery застрял в цикле

#javascript #jquery #jquery-ui #fullcalendar

#javascript #jquery #jquery-пользовательский интерфейс #полный календарь

Вопрос:

Наконец-то у меня заработало удаление перетаскиванием. Теперь проблема в том, что когда я удаляю событие, удаление выполняется нормально, но после того, как оно продолжает зацикливаться внутри eventDragStop и календарь зависает.

 eventDragStop: function(event, jsEvent, ui, view) {
if (isElemOverDiv(ui.offset, '#event-delete')) {
$('#calendar').fullCalendar('removeEvents', event.id);
}
}
  

Ответ №1:

Я не уверен, что это правильное решение, однако я решил проблему, изменив fullcalendar.js следующим образом:

 function eachEventElement(event, exceptElement, funcName) {
    if(elements){
        var elements = eventElementsByID[event._id],
            i, len = elements.length;
        for (i=0; i<len; i  ) {
            if (!exceptElement || elements[i][0] != exceptElement[0]) {
                elements[i][funcName]();
            }
        }
    }
}
  

Ответ №2:

 eventDragStop: function(event, jsEvent, ui, view) {
    if (isElemOverDiv(ui, $('div.event-delete'))) {
        calendar.fullCalendar('removeEvents', event.id);
    }
}
  

Я получил это от sitepoint, если это вообще поможет. Я думаю, это как-то связано с $('#calendar') .

Комментарии:

1. Нет, этот код тоже мой, посмотрите на имя пользователя. Я исправил эту проблему, но теперь я перехожу к этой. calendar или $ (‘#calendar’) работают для меня одинаково. Хотя спасибо 🙂

2. за исключением того, что вы вызываете $('#calendar') функцию, которая может быть вашей проблемой, в то время как они используют calendar, который, похоже, исходит из функции.