如何在使用Google日历Feed时禁用FullCalendar中的事件链接?

Cni*_*roh 6 javascript google-calendar-api fullcalendar

我正在使用FullCalendar库从Google日历中加载我日历中的事件.不幸的是,在将事件添加到日历后,它们是可点击的.当您点击该活动时,系统会自动将您重定向到Google日历页面以查看该特定活动,或者您是否拥有访问权限 - 直接编辑该活动.虽然这对于事件管理非常有用,但我无法想象为什么网站访问者每次点击日历中的事件时都会被重定向到外部页面.

有没有办法在FullCalendar中禁用"打开点击",覆盖链接打开到空的javascript函数调用也可以是一个选项.

小智 12

FullCalendar网站上的文档引用了回调函数'eventClick':

http://arshaw.com/fullcalendar/docs/mouse/eventClick/

如果在事件对象上设置了url属性,则返回false会阻止浏览器访问事件URL.因此,当您初始化FullCalendar时,添加eventClick回调函数,其中包含...

$('#calendar').fullCalendar({
    eventClick: function(event) {
        if (event.url) {
            return false;
        }
    }
});
Run Code Online (Sandbox Code Playgroud)


小智 7

这对我有用

eventClick: function (event) {
    // Prevent redirect to Google Calendar
    event.jsEvent.cancelBubble = true;
    event.jsEvent.preventDefault();
}
Run Code Online (Sandbox Code Playgroud)


sea*_*anb 5

可能值得在fullcalendar选项中尝试自己的事件渲染器:

{ eventRender:function (event, element)}  
Run Code Online (Sandbox Code Playgroud)

为此,您需要自己编写所有渲染代码 - 可以从原始实现开始并根据需要进行调整.
没有试过这个谷歌日历实现,但已经使用它与自定义json根据需要打开或关闭href.

或者,你可以:
破解gcal.js文件,使其不在事件对象上设置href属性.
或者
在渲染之前拦截事件数据,并删除href属性.