2013-10-08 2 views
1

Я использую Fullcalendar последнего, JQuery 1.10 и QTIP 2.Fullcalendar eventDestroy никогда не называют

Я просто добавить QTIP к элементу в в eventRender обратного вызова, который содержит кнопку:

element.qtip({ 
    content: { 
     title: { text: event.title }, 
     text: '<button type="button" onclick="removeEvent(' + event.id + ')">Delete</button>' 
    }, 
    show: { 
     event: 'click', 
     solo: true 
    }, 
    hide: { 
     event: 'unfocus click' 
    } 
}); 

на выборе обратного вызова у меня есть следующее:

$('#calendar').fullCalendar('renderEvent', 
    { 
     title: 'Available', 
     start: start, 
     end: end, 
     allDay: allDay 
    }, 
    true //make the event stick 
); 

А то вот код удалить событие:

function removeEvent(eventId, userId) 
{  
    //Delete the event 
    $('#calendar').fullCalendar('removeEvents', eventId); 
} 

Под обратного вызова eventDestroy у меня есть:

element.qtip('destroy'); 

Моя проблема заключается в том, что eventDestroy кажется, никогда не дозвонились, когда я звоню обратного вызова.

Я настроил jsfiddle пример здесь: http://jsfiddle.net/MusicMonkey5555/Zs657/1/

Это немного отличается, но просто щелкнуть элемент календаря, он подскажет, если вы хотите удалить его, а затем он должен появиться предупреждение, но никогда не делает.

У кого-нибудь есть идея, почему он не работает?

ответ

1

Согласно полному календарному документации, eventDestroy доступна только начиная с версии 1.6.3 и вы используете 1.5.

См: http://arshaw.com/fullcalendar/docs/event_rendering/eventDestroy/

Edit: Я на самом деле просто проверил это путем изменений скрипки, и это выглядит как обратный вызов по-прежнему не работает. Это срабатывает при изменении размера окна (я полагаю, что lib перепрофилирует события и, следовательно, уничтожает DOM).

Ознакомившись с кодом, похоже, что обратный вызов eventDestroy вызывается только при уничтожении полного кадра. Никогда, когда вы удаляете отдельные события. Таким образом, это будет текущее ограничение этой библиотеки.

В вашем случае вам будет проще напрямую вызвать обратный вызов destroy из вашего метода removeEvent, так как вы не можете полагаться на lib для этого.

+0

Я использую v1.6.4 Ok, что имеет смысл. Спасибо, что посмотрели в нее больше. Я решил, что могу, у меня просто возникли проблемы с получением элемента, чтобы я мог удалить связанный с ним qtip. Кажется, я не мог получить этот элемент ui. – MusicMonkey5555