我的一些Fullcalendar活动有链接。这些链接指向受限制访问的公共网页,pdf文档或网页。
我想添加一个类,根据url字符串格式化链接以添加图标 如果网址包含:
我认为应该使用和eventRender ...但我找不到合适的语法。有人可以帮我这个吗?
http://jsfiddle.net/lbriquet/oez9Ltym/
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'listDay,listWeek,month'
},
views: {
listDay: {
buttonText: 'list day'
},
listWeek: {
buttonText: 'list week'
}
},
defaultView: 'listDay',
defaultDate: '2016-09-12',
navLinks: true, // can click day/week names to navigate views
events: [{
title: 'Conference (website)',
start: '2016-09-11',
end: '2016-09-13',
url: "https://www.ted.com/talks"
}, {
title: 'Meeting (download document)',
start: '2016-09-12T10:30:00',
end: '2016-09-12T12:30:00',
url: "http://storage.ted.com/tedx/manuals/tedx_speaker_guide.pdf"
}, {
title: 'Lunch',
start: '2016-09-12T12:00:00'
}, {
title: 'Meeting (members only)',
start: '2016-09-12T14:30:00',
url: "http://www.dictionary.com/browse/restricted"
}, {
title: 'Happy Hour',
start: '2016-09-12T17:30:00'
}, {
title: 'Dinner',
start: '2016-09-12T20:00:00'
}],
eventRender: function eventRender(event, element, view) {
}
});
答案 0 :(得分:3)
我让它工作的方式是在事件中添加一个类型,因为我觉得它比处理可能并不总是有效的正则表达式更容易。因此,事件不需要类型,但他们可以使用类型pdf
,restricted
或其他任何您需要的类型。在eventRender
我添加了以下内容:
eventRender: function eventRender(event, element, view) {
if(typeof event.type !== 'undefined') {
if(event.type === 'pdf') {
element.addClass('fc-pdf');
} else if(event.type === 'restricted') {
element.addClass('fc-lock');
}
}
}
检查是否提供了类型,然后检查是否根据类型添加类的语句。我还必须对css选择器进行一些小改动,将a.fc-lock
更改为.fc-lock a
以允许它正确显示。这是显示此内容的JS Fiddle。