0

フルカレンダーで evenLimitClick イベントをトリガーすると、ポップオーバーが機能しません。dayClick イベントでは問題なく動作しますが、eventLimitClick では何も起こりません。これが私のフィドル です。親で呼び出されるようにポップオーバーを設定しようとしました(例:$(this)。parent()。popoverですが、それもうまくいきませんでした。

$(document).ready(function () {

    // page is now ready, initialize the calendar...
    var eventsArray = [{
        title: 'Test1',
        start: new Date()
    }, {
        title: 'Test2',
        start: new Date("2015-04-21")
    }, {
        title: 'Test3',
        start: new Date("2015-04-21")
    }];

    $('#calendar').fullCalendar({
        // put your options and callbacks here
        header: {
            left: 'prev,next', //today',
            center: 'title',
            right: ''
        },
        defaultView: 'month',
        editable: true,
        allDaySlot: false,
        selectable: true,
        events: eventsArray,
        eventLimit: 1,

        eventLimitClick: function (cellInfo, jsEvent) {
            $(this).popover({
                html: true,
                placement: 'bottom',
                container: 'body',
                title: function () {
                    return $("#events-popover-head").html();
                },
                content: function () {
                    return $("#events-popover-content").html();
                }
            });

            $(this).popover('show');
        },
        dayClick: function (cellInfo, jsEvent) {
            $(this).popover({
                html: true,
                placement: 'bottom',
                container: 'body',
                title: function () {
                    return $("#events-popover-head").html();
                },
                content: function () {
                    return $("#events-popover-content").html();
                }
            });

            $(this).popover('show');
        },
    })

});
<link href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.3.1/fullcalendar.css" rel="stylesheet"/>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.3.1/fullcalendar.js"></script>

<div style="border:solid 2px red;">
    <div id='calendar'></div>
    <div id="events-popover-head" class="hide">Events</div>
    <div id="events-popover-content" class="hide">Test</div>
</div>

4

1 に答える 1

2

eventLimitClick イベントで、次のように変更します。

$(this).popover

$(cellInfo.dayEl)

cellInfo.dayEl は、ポップオーバーを表示するクリックされた日のセル要素です。

Fiddleも更新しました

于 2015-04-06T04:35:24.340 に答える