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