2013-09-28 20 views
0

我在我的網站中使用fullCalendar和Bootstrap,以便每次點擊一個月的視圖時,都會有一個彈出窗口來添加事件,就像Google日曆中的那樣。這裏是我的代碼如何在fullCalendar中關閉以前的彈出窗口?

$(document).ready(function() { 

    var date = new Date(); 
    var d = date.getDate(); 
    var m = date.getMonth(); 
    var y = date.getFullYear(); 
    var calendar = $('#calendar').fullCalendar({ 
     height: height, 
     header: { 
      left: 'prev,next today', 
      center: 'title', 
      right: 'month,agendaWeek,agendaDay' 
     }, 
     dayClick: function(date, allDay, jsEvent, view){ 
      $(this).children().popover({ 
     title: 'haha', 
     placement: 'right', 
     content: 'haha',html : true, container: 'body' 
    }); 
    $(this).children().popover('show'); 
} 
}) 

的代碼應該是正確的前$(this).children().popover({,這樣它就關閉所有先前發射酥料餅。

但是,究竟應該使用哪些代碼來實現此目的?

謝謝!

回答

2

您可以刪除popover或更具體的destroy保存參考(這將是一個更具體和更好的方法)之前創建的。

var calendar = $('#calendar').fullCalendar({ 
    height: '300px', 
    header: { 
     left: 'prev,next today', 
     center: 'title', 
     right: 'month,agendaWeek,agendaDay' 
    }, 
    dayClick: function (date, allDay, jsEvent, view) { 
     $(this).children().popover({ 
      title: 'haha', 
      placement: 'right', 
      content: 'haha', 
      html: true, 
      container: 'body' 
     }); 
     $('.popover.in').remove(); //<--- Remove the popover 
     $(this).children().popover('show'); 
    } 
}); 

Fiddle Method1

var $calPopOver; //create a variable to save refe 
    var calendar = $('#calendar').fullCalendar({ 
     height: '300px', 
     header: { 
      left: 'prev,next today', 
      center: 'title', 
      right: 'month,agendaWeek,agendaDay' 
     }, 
     dayClick: function (date, allDay, jsEvent, view) { 
      $(this).children().popover({ 
       title: 'haha', 
       placement: 'right', 
       content: 'haha', 
       html: true, 
       container: 'body' 
      }); 
      if($calPopOver) //if there is something 
       $calPopOver.popover('destroy'); //then call popover destroy 
      $calPopOver = $(this).children().popover('show'); 
     } 
    }); 

Fiddle Method2

+0

的偉大工程!非常感謝! – user2363192

+0

@ user2363192不客氣... – PSL

+1

@PSL,複製相同的代碼時出現以下錯誤。 'TypeError:$(...)。children(...)。popover不是函數'。你能幫忙嗎? – ejo

相關問題