Javascript 通过FancyBox(v2)点击完整日历事件
我在整个项目中都在使用FancyBox,并且希望在FullCalendar脚本中实现FancyBox。基本上,我想弄清楚如何将事件的描述传递给FancyBox弹出窗口。我正在使用11种不同的谷歌日历订阅源。我担心这可能会阻止这种情况发生。如果是这样的话,我可能会完全放弃这个想法 我见过其他类似的问题,比如使用gcal.js文件的events.push部分,但我似乎不知道如何让其他人的解决方案起作用。我研究过的其他一些问题包括:Javascript 通过FancyBox(v2)点击完整日历事件,javascript,fancybox,fullcalendar,google-calendar-api,Javascript,Fancybox,Fullcalendar,Google Calendar Api,我在整个项目中都在使用FancyBox,并且希望在FullCalendar脚本中实现FancyBox。基本上,我想弄清楚如何将事件的描述传递给FancyBox弹出窗口。我正在使用11种不同的谷歌日历订阅源。我担心这可能会阻止这种情况发生。如果是这样的话,我可能会完全放弃这个想法 我见过其他类似的问题,比如使用gcal.js文件的events.push部分,但我似乎不知道如何让其他人的解决方案起作用。我研究过的其他一些问题包括: 有没有办法将gcal.js文件的events.push部
eventClick: function(event) {
if (event.url) {
$.fancybox({
'type': 'iframe',
'href': 'event.url'
})
return false;
}
}
在它目前的形式中,显然没有提及events.push或任何类似的内容。它对于启动FancyBox非常有效,但除此之外就没有什么了。像我现在这样使用event.url,我会遇到一个缺页错误,但我相信这可能是因为我在本地测试,而不是在实时服务器上测试。然而,我可能弄错了
我将感谢任何帮助。谢谢。所以,在前一天晚上发布了我的问题之后,我自然找到了一个解决方案。对于其他有此问题的人,以下是我所做的:
eventClick: function(event) {
if (event.url) {
var fancyContent = ('<div class="header">Event Details</div> <div id="prac" class="pracform"> <label><b>Event: </b></label>' + event.title + '<br>' + '<label><b>Date: </b></label>' + event.date + '<br>' + '<label><b>Start Time: </b></label>' + event.start + '<br>' + '<label><b>End Time: </b></label>' + event.end + '<br>' + '<label><b>Description: </b></label>' + '<div class="event_desc">' + event.description + '</div>' + '<br>' + '<label><b>Location: </b></label><a href=' + event.url + '>' + event.location + '</a>' + '<br>' + '</div>');
$.fancybox({
'content': fancyContent
})
return false;
}
}
event单击:函数(事件){
if(event.url){
var fancyContent=(“事件详细信息事件:'+Event.title+'
'+'日期:'+Event.Date+'
'+'开始时间:'+Event.Start+'
'+'结束时间:'+Event.End+'
'+'描述:'+'+Event.Description+'
'+'位置:'+'
'+'>);
$.fancybox({
“内容”:fancyContent
})
返回false;
}
}
然而,我在编辑gcal.js文件以将时间集从ISO8601更改为h:mmTT时遇到了困难,我想知道是否有可能像我上面使用的那样有一个单独的日期类别(在其当前形式中,它返回为“未定义”)。也许在未来的FullCalendar发行版中?所以,在前一天晚上发布了我的问题之后,我自然找到了一个解决方案。对于其他有此问题的人,以下是我所做的:
eventClick: function(event) {
if (event.url) {
var fancyContent = ('<div class="header">Event Details</div> <div id="prac" class="pracform"> <label><b>Event: </b></label>' + event.title + '<br>' + '<label><b>Date: </b></label>' + event.date + '<br>' + '<label><b>Start Time: </b></label>' + event.start + '<br>' + '<label><b>End Time: </b></label>' + event.end + '<br>' + '<label><b>Description: </b></label>' + '<div class="event_desc">' + event.description + '</div>' + '<br>' + '<label><b>Location: </b></label><a href=' + event.url + '>' + event.location + '</a>' + '<br>' + '</div>');
$.fancybox({
'content': fancyContent
})
return false;
}
}
event单击:函数(事件){
if(event.url){
var fancyContent=(“事件详细信息事件:'+Event.title+'
'+'日期:'+Event.Date+'
'+'开始时间:'+Event.Start+'
'+'结束时间:'+Event.End+'
'+'描述:'+'+Event.Description+'
'+'位置:'+'
'+'>);
$.fancybox({
“内容”:fancyContent
})
返回false;
}
}
然而,我在编辑gcal.js文件以将时间集从ISO8601更改为h:mmTT时遇到了困难,我想知道是否有可能像我上面使用的那样有一个单独的日期类别(在其当前形式中,它返回为“未定义”)。也许在未来的FullCalendar版本中?我也遇到了同样的问题,使用FullCalendar文档中的eventClick示例,我做了以下工作:
eventClick: function(event) {
if (event.url) {
$("a").fancybox(event.url);
return false;
}
}
不确定这是否会有帮助,但对我来说很有效。这个解决方案的唯一问题是,在第一次单击时,fancybox不会被调用。在第二次单击和任何后续单击时,它都可以正常工作。我遇到了同样的问题,使用fullcalendar文档中的eventClick示例,我做了以下操作:
eventClick: function(event) {
if (event.url) {
$("a").fancybox(event.url);
return false;
}
}
不确定这是否会有帮助,但对我来说很有效。这个解决方案的唯一问题是,在第一次单击时,fancybox不会被调用。在第二次单击和任何后续单击时,它都可以正常工作