/ / Comment fermer les popovers précédents dans fullCalendar? - javascript, jquery, twitter-bootstrap, fullcalendar

Comment fermer les popovers précédents en fullCalendar? - javascript, jquery, twitter-bootstrap, calendrier complet

J'utilise fullCalendar dans mon site Web avec Bootstrap pour que chaque fois que je clique sur une vue jour par mois, il y ait un popover pour ajouter un événement, tout comme dans Google Calendar. Voici mon code

$(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");
}
})

Le code doit être juste avant $(this).children().popover({ de sorte qu'il ferme tous les popover précédemment déclenchés.

Cependant, quel code dois-je utiliser exactement pour y parvenir?

Je vous remercie!

Réponses:

2 pour la réponse № 1

Vous pouvez enlever le popover ou plus spécifiquement destroy celui créé auparavant en sauvegardant la référence (ce qui serait une approche plus spécifique et meilleure).

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");
}
});

Méthode Fiddle1

ou

  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");
}
});

Méthode Fiddle2