Я интегрировал FullCalendar с JSON и PHP, чтобы получать события в небольшой виджет календаря, который хорошо работает.
Я кодировал всплывающее окно css / div, которому передается идентификатор события через функцию eventClick
, чтобы при нажатии на событие открывалось и использовалось ajax-запрос с переданным идентификатором для получения полной информации о событии в моемсфокусированный попбокс.
Я могу закрыть всплывающее окно без каких-либо проблем, но когда я нажимаю на следующие / предыдущие / сегодняшние вкладки, календарь обновляется, а также запускает последнее просмотренное всплывающее окно.
Я предполагаю, что это потому, что мой календарь и ajax popbox используют событие javascript и связаны друг с другом.
Может кто-нибудь помочь с несколькими строками, чтобы остановить это?
Мой код:
$('#calendar').fullCalendar({
editable: false,
cache: false,
header: {left: 'title',center: '',right: 'today,prev,next'},
events: function(start, end, callback) {
$.getJSON("/mod/calendar/events.php?ts=1302604339",
{
action: "get_events",
start: start.getTime(),
end: end.getTime(),
id: 'a',
etype: "Club"
},
function(result){
callback(result);
}
);
},
eventClick: function(calEvent){
if (calEvent.txt) {
Open_PopBox(calEvent.txt,'');
return true;
} else{
return true;
}
}
});
Код всплывающего окна:
function Open_PopBox(id,r) {
$("#popbox").css("height", $(document).height());
//$("#cmt_u_pload").show();
var str = "id="+id+"&r="+r;
$.ajax({
type: "POST",
url: "/ajax/popbox.php",
data: str,
success: function(result){
$("#aj_popbox").ajaxComplete(function(event, request, settings) {
//$("#cmt_u_pload").hide();
response = result.substring(0,3);
if(result.substring(0,3)=="OK-"){
len = result.length;
result = result.substring(3,len);
}
$(this).html(result);
$("#popbox").fadeIn();
});
}
});
return false;
}
Иpopbox закрывается с этим:
function Close_PopBox(){
$("#popbox").fadeOut();
}