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 呼び出しがあります。ページの読み込み中、つまり ajax リクエストの進行中は、カレンダー イベントのクリックを無効にしたいと考えています。

4

1 に答える 1

0

グローバルスコープで変数を設定し、たとえばpreventAjaxfalse の値で呼び出します。trueリクエストを発行する前に設定しfalse、リクエストが成功したときに戻します。値が false の場合にのみ ajax リクエストを実行します。例えば

var preventAjax = false;

function someFunction() {
   if (preventAjax)
       return;

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

        // ... other code ...
    }
  });
}
于 2012-09-25T06:25:12.783 に答える