2012-09-25 34 views
1

我的代碼片段如何刪除而頁面加載

$('#calendar').fullCalendar({ 
     allDaySlot: false, 
     header: { 
     left: 'today prev next', 
     center: 'title', 
     right: 'agendaWeek,agendaDay' 
     }, 
     axisFormat: 'HH:mm', 
     timeFormat: {agenda: 'HH:mm{ - HH:mm}'}, 
     defaultView: 'agendaWeek', 
     editable: false, 
     minTime: '8:30am', 
     maxTime: '10:00pm', 
     weekends: false, 
     eventRender: function(event, element) { 
     // some code 
     }, 
     eventClick: function(calEvent, jsEvent, view) { 
      //some code 
     }, 
     dayClick: function(date, jsEvent, calEvent) { 
      //some code 
     } 

而且有Ajax調用刷新日曆並顯示事件點擊fullcalendar事件的能力。 我想在頁面加載時禁用點擊日曆事件,即在Ajax請求正在進行時。

回答

0

設置一個變量在全球範圍內,與false值調用它例如preventAjax。在請求成功之前將其設置爲true,並在請求成功時返回false。僅當值爲false時才執行ajax請求。例如

var preventAjax = false; 

function someFunction() { 
    if (preventAjax) 
     return; 

    preventAjax = true; 
    $.ajax({ 
    url : "someUrl", 
    success : function(data) { 
     preventAjax = false; 

     // ... other code ... 
    } 
    }); 
} 
+0

我不想停止Ajax請求。在fullcalendar事件(日點擊或單擊事件)的點擊需要防止,而AJAX加載。 –

+0

它同樣的方法,而在成功做一個Ajax請求,釋放設置一個全局變量。當所述var設置爲true時,從fullcalendar事件dayClick,eventClick返回。 – markz

+0

您可以使用ajaxStart和方法的ajaxSuccess搭上AJAX事件 – markz