1

私は自分のウェブサイトで fullCalendar を Bootstrap と一緒に使用しているため、Google カレンダーと同じように、月表示で日をクリックするたびにイベントを追加するポップオーバーが表示されます。これが私のコードです

$(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({コードは、以前に起動されたすべてのポップオーバーを閉じるように、直前に配置する必要があります。

ただし、正確には、これを達成するにはどのコードを使用すればよいですか?

ありがとうございました!

4

1 に答える 1

3

参照を保存することで、以前に作成したものを削除できます(これは、より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');
    }
});

フィドル法1

また

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

フィドル法2

于 2013-09-28T16:08:24.870 に答える