我认为fullcalendar jquery-plugin是一个非常好的解决方案。但是,我注意到插件转义(htmlEscape)标题。但是我需要在标题中格式化一些字符串,例如粗体文本,颜色或小图像。
使用另一个插件的解决方案(例如qTip,如示例中所示)对我来说无法正常工作。无论如何要格式化标题文本?
我做了这个,因为其他视图使用相同的类,但没有跨度,我强迫事件的标题,而不是对文本进行额外的请求。
eventRender: function (event, element) {
element.find('.fc-event-title').html(event.title);
}
在v2中,您可以使用:
element.find('span.fc-title').html(element.find('span.fc-title').text());
跨度类是fc-title
而不是fc-event-title
。
感谢j00lz确认更改的评论。
因为CSS类已经改变,这是正确的答案:
eventRender: function (event, element) {
element.find('.fc-title').html(event.title);
}
为了轻松地在事件标题中显示所有html,我使用了它,这非常容易。
eventRender: function (event, element) {
element.find('span.fc-event-title').html(element.find('span.fc-event-title').text());
}
这里发现了http://code.google.com/p/fullcalendar/issues/detail?id=152
我最后做了这样的事情,在那个时间旁边放了一个链接。类似的东西应该适用于标题:
events: [
<% @schedule.events.each do |event| %>
{
// Render your events here as needed
// I added a custom attribute called eventDeleteLink, to be used below
},
<% end %>
],
// Add this piece:
eventRender: function(event, element) {
element.find(".fc-event-time").append(" " + event.eventDeleteLink);
}
因此,这使用jQuery的append()在时间之后添加任何删除链接的空间,它适用于基本的东西。
什么它不起作用(以及我希望看到的解决方案,如果有人有),包括嵌套引号或双引号的代码。例如,我无法添加onClick触发器,因为需要(在我的情况下)双引号内的单引号。我无法弄清楚如何逃避它们而没有(我相信)fullCalendar重新逃避它们。
无论如何,对于基本文本,这对我有用。
我这样做了,检查链接Link
eventRender: function (event, element) {
element.find('.fc-title').html(event.title);/*For Month,Day and Week Views*/
element.find('.fc-list-item-title').html(event.title);/*For List view*/
}
eventRender: function (event, element) {
element.find('.fc-title, .fc-list-item-title').html("<b>"+event.title+"</b>");
},