0

我一直在尝试让 FullCalendar 事件在单击时使用 Facebox 弹出信息。我可以将事件放在日历上或获取需要显示的信息,这只是让弹出框工作。

我尝试将 rel="facebox" 添加到包含事件标题的“span”和“a”中,但似乎都没有影响它。

如果有人以前尝试过或知道可能的解决方案,我期待收到您的来信。

4

2 回答 2

0

这可能与facebox的工作方式有关。我认为它可能仅在页面的初始加载时运行 - 因此,当您将这些添加到新元素时,facebox 代码已经运行并且新元素无法识别。

如果您使用它来启动 facebox:

jQuery(document).ready(function($) {
  $('a[rel*=facebox]').facebox() 
})

那么就是这样。您应该向 eventRender 方法添加一些内容,以便在呈现事件时调用 facebox 方法,该方法将它们实例化为 facebox 元素。

来自http://arshaw.com/fullcalendar/docs/event_rendering/eventRender/

eventRender: function(event, element) {
    element.qtip({
        content: event.description
    });
}

但是您可以使用带有正确参数的“element.facebox”而不是“element.qTip”。您可能还需要设置一个 href。

于 2010-06-11T00:30:22.943 回答
0

我从 fullCalendar eventClick文档页面复制并扩展了示例:

$('#calendar').fullCalendar({
 eventClick: function( calEvent, jsEvent, view ) {
  var txt = 'Event: ' + calEvent.title + '<br>' +
            'Event Start: ' + calEvent.start + '<br>' +
            'Event End: ' + calEvent.end + '<br>' +
            'Coordinates: ' + jsEvent.pageX + ',' + jsEvent.pageY + '<br>' +
            'View: ' + view.name;
  // for an image use: jQuery.facebox({ image: 'dude.jpg' })
  // for ajax page use: jQuery.facebox({ ajax: 'remote.html' })
  jQuery.facebox(txt);
 }
});

哦,如果您想获取任何其他calEvent对象,请查看 fullCalendar事件对象页面。如果您使用的是谷歌日历扩展程序,可能还有更多,包括descriptionlocation

于 2010-06-11T02:36:39.180 回答