【问题标题】:Showing day view of event on event click within an month or year view在月或年视图中显示事件点击事件的日视图
【发布时间】:2014-02-10 12:08:50
【问题描述】:

我是使用完整日历的新手,想知道是否可以显示已单击事件的日视图(特别是日期)。如果在“年”或“月”视图中单击事件,则需要执行此操作。

我还想知道的另一件事是,当在日视图中单击事件时,是否可以显示灯箱(显示在其他所有内容之上的 div)。

我已经对这些问题进行了 2 天的研究,尽管我发现了 -

dayClick: function(date, allDay, jsEvent, view) {
    $('#calendar').fullCalendar('gotoDate', date);
},

我无法调整或更改它以正确处理事件。

任何建议将不胜感激。

提前感谢您, 克里斯

【问题讨论】:

  • 这是可能的,但您的描述必须包含更多您正在尝试做的事情的代码。请使用fiddle 进行操作。
  • 你好fabricio,我已将我的代码添加到fiddle.jshell.net/LZ65w,尽管它没有显示输出。因为它需要一个外部 json/php 文件。我发现有关事件点击的信息很难研究。
  • JS Fiddle 也需要外部资源... :-) 看看this。我现在去看看。
  • 感谢您的快速响应,我已经使用默认事件更新了当前事件,因此它们可以在示例 fiddle.jshell.net/LZ65w/2 中使用。我发现我需要使用'$('#calendar').fullCalendar('gotoDate', date);'在 eventClick 函数中。但我不是 100% 确定如何从 eventClick 标题中获取日期字段。
  • 在查看代码并尝试解决此问题时,我发现' eventClick: function(calEvent, jsEvent, view) { $('#calendar').fullCalendar('gotoDate', calEvent.start ); }, ' 会起作用,但不会改变视图。不确定我是否遗漏了某些东西或正在尝试无效的尝试。 fiddle.jshell.net/LZ65w/4

标签: javascript jquery css plugins fullcalendar


【解决方案1】:

这应该可以帮助您:

// Added Coded whilst trying to fix onEventClick       
eventClick: function(calEvent, jsEvent, view) {
    jsEvent.preventDefault();

    // Go to and show day view for start date of clicked event
    calendar.fullCalendar('gotoDate', calEvent.start);
    calendar.fullCalendar('changeView', "basicDay");

    // Popup with information of clicked event
    if(calEvent.url) {
        $("#eventDisplay").html("<p><b>Title:</b> <a target='_blank' href='" + calEvent.url + "'>" + calEvent.title + "</a></p>");
    } else {
        $("#eventDisplay").html("<p><b>Title:</b> " + calEvent.title + "</p>");
    }
    $("#eventDisplay").append("<p><b>Start:</b> " + calEvent.start + "</p>");
    $("#eventDisplay").dialog({
        width: 400,
        modal: true
    });
},
// End Code onEventClick

Fidle 显示两个请求:显示一个日视图并弹出带有事件信息的 jQuery UI 对话框。

请注意,对于触发外部 URL 的事件,您应该首先使用 .preventDefault。您当然可以在弹出的 HTML 中提供链接,让用户点击它,如果他真的想这样做的话。请参阅 2 月 28 日活动的示例。

【讨论】:

  • 非常感谢,这符合我想要做的,并且可以适应解决我遇到的大部分问题。
  • 您好 Fabricio,我已尝试将其移至我的项目中,但未显示正在使用小提琴的对话框弹出窗口。如果我放弃显示:无;从它显示的CSS(完全不合适)但它显示。不确定它在哪里调用状态更改,查看“#eventDisplay”标签我在任何地方都找不到“#eventDisplay.show”,也不确定它是如何工作的。我想进一步了解并解决此问题。
  • 你包括jQueryUI吗? FullCalendar 必须正常工作,并为您提供我使用的弹出对话框。正如我在之前的评论中提到的,jQueryUI 不在您的初始帖子中,我自己添加了它。检查小提琴中的外部资源,因为它列在那里。
  • 啊好吧,我知道发生了什么,我确实安装了带有日历插件的 jQueryUI 版本,但它是 UI 的最小版本,不包含所需的功能。
  • 好的,全部排序。无法相信这是一件如此简单的事情导致了如此多的问题。非常感谢 Fabricio。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多