0

我在此页面上使用jQuery Frontier Calendar一切正常并且呈现正常,除了在 IE 8.0 中,事件根本不会出现。初始化事件的代码如下

  /**
    * Initialize display event form.
    */
    $("#display-event-form").dialog({
        autoOpen: false,
        height: 400,
        width: 400,
        modal: true,
        open: function (event, ui) {
            if (clickAgendaItem != null) {
                var title = clickAgendaItem.title;
                var startDate = clickAgendaItem.startDate;
                var endDate = clickAgendaItem.endDate;
                var allDay = clickAgendaItem.allDay;
                var data = clickAgendaItem.data;
                // in our example add agenda modal form we put some fake data in the agenda data. we can retrieve it here.
                $("#display-event-form").append(
                "<br><b>" + title + "</b><br><br>"
            );
                if (allDay) {
                    $("#display-event-form").append(
                    "(All day event)<br><br>"
                );
                } else {
                    $("#display-event-form").append(
                    "<b>Event Date:</b> " + startDate.toString('yyyy-MM-dd') + "<br><br>"
                );
                }
                for (var propertyName in data) {
                    $("#display-event-form").append("<b>" + propertyName + ":</b> " + data[propertyName] + "<br>");
                }
            }
        },
        close: function () {
            // clear agenda data
            $("#display-event-form").html("");
        }
    });

                <asp:Repeater id="m_eventOutput" runat="server">
                    <ItemTemplate>
                     jfcalplugin.addAgendaItem(
                    "#mycal",
                    "<%# DataBinder.Eval(Container.DataItem, "EventTitle") %>",
                    new Date('<%# DataBinder.Eval(Container.DataItem,"EventDate","{0:yyyy-MM-dd}") %>'),
                    new Date('<%# DataBinder.Eval(Container.DataItem,"EventDate","{0:yyyy-MM-dd}") %>'),
                    false,
                    {
                        Type: '<%# DataBinder.Eval(Container.DataItem, "EventType") %>',
                        Time: '<%# DataBinder.Eval(Container.DataItem, "Time")%>',
                        Venue: '<%# DataBinder.Eval(Container.DataItem, "Venue")%>'
                    },
                    {
                        backgroundColor: $("#colorBackground").val(),
                        foregroundColor: $("#colorForeground").val()
                    },
                    '<%# DataBinder.Eval(Container.DataItem, "EventItemId") %>'
                );
                    </ItemTemplate>
                </asp:Repeater>

});

为什么事件不会出现在 IE8 中的任何想法。谢谢

4

1 回答 1

0

我们终于发现问题出在 IE 处理的日期格式上。我通过更改转发器控件中的日期格式来完成这项工作,如下所示

new Date('<%# DataBinder.Eval(Container.DataItem,"EventDate","{0:MMMM dd, yyyy}") %>'),
new Date('<%#DataBinder.Eval(Container.DataItem,"EventDate","{0:MMMM dd, yyyy}") %>'),

我们至少花了几天时间来解决这个问题,希望它可以帮助遇到类似问题的人。

于 2013-05-18T22:30:02.773 回答