2015-12-05 3 views
2

У меня есть событие с одним щелчком мыши и внутри него Я перезаряжаю полный календар. Но после перезагрузки я хотел бы скрыть текущий элемент, на котором выполняется событие клика. Но как-то его не работает. Ниже мой код.Полный календарь Destroy event

$(document).on("click", 'a.btnExpandCollapseBook', function (e) { 
     $('#calendar2').fullCalendar('destroy'); 
     calendarOptions.events = tempSourcearr; // assigning the events 
     $('#calendar2').fullCalendar(calendarOptions); 
     $(this).hide();// This is not working... 
}); 
+0

Вам необходимо выполнить поиск по массиву событий и удалить текущее событие, прежде чем назначать события еще раз. Также, как вы получаете событие, нажатое в данный момент? – VisualBean

+0

Из любопытства, почему вы хотите уничтожить и повторно инициализировать календарь при нажатии события? – smcd

ответ

0

Спасибо за каждого, Я нашел альтернативное решение для этого, как показано ниже.

$.each($('#calendar2').fullCalendar('clientEvents'), function (i, item) { 
    $('#calendar2').fullCalendar('removeEvents', item.id); 
    }); // removes the event one by one 
$('#calendar2').fullCalendar('addEventSource', tempSourcearr); // assign the new data source. 
+0

Отметьте этот ответ как принятый ответ, пожалуйста, чтобы этот вопрос был разрешен. – leroydev

1

Вы можете добавить пользовательское свойство, например, «скрытый» истина/ложь, в случае и использовать eventRender контролировать видимость основе от собственности «скрытый»

http://jsfiddle.net/hmspswu3/

var calendarOptions = { 
    defaultDate: '2015-12-01', 
    events: [{ 
    id: 1, 
    start: '2015-12-03', 
    end: '2015-12-07', 
    title: 'Event 1', 
    hidden: false 
    }, { 
    id: 2, 
    start: '2015-12-13', 
    end: '2015-12-17', 
    title: 'Event 2', 
    hidden: false 
    }], 
    eventRender: function(event, element, view) { 
    return !event.hidden; 
    }, 
    eventClick: function(event, jsEvent, view) { 
    event.hidden = true; 
    calendarOptions.events = $('#calendar').fullCalendar('clientEvents'); 
    $('#calendar').fullCalendar('destroy'); 
    $('#calendar').fullCalendar(calendarOptions); 
    } 
}; 

$('#calendar').fullCalendar(calendarOptions); 
Смежные вопросы