Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
fullcalendar 2.0事件链接_Fullcalendar - Fatal编程技术网

fullcalendar 2.0事件链接

fullcalendar 2.0事件链接,fullcalendar,Fullcalendar,我正在从1.6升级到2.0 一些以前可以工作的代码,现在不再工作了。例如: $('#calendar').fullCalendar('changeView', 'agendaDay').fullCalendar('gotoDate', date); 适用于1.6,但在2.0中,我现在得到一个错误: TypeError: $(...).fullCalendar(...) is undefined 我可以通过以下方式解决此问题: $('#calendar').fullCalendar('chan

我正在从1.6升级到2.0

一些以前可以工作的代码,现在不再工作了。例如:

$('#calendar').fullCalendar('changeView', 'agendaDay').fullCalendar('gotoDate', date);
适用于1.6,但在2.0中,我现在得到一个错误:

TypeError: $(...).fullCalendar(...) is undefined
我可以通过以下方式解决此问题:

$('#calendar').fullCalendar('changeView', 'agendaDay');
$('#calendar').fullCalendar('gotoDate', date);
但这对我来说并不是一个可以接受的解决方案。我正在会话中保存各种日历变量(日期、视图等),因为上面的结果几乎是在同一时间进行两次ajax调用,所以会话变量的存储方式不可靠

有没有人知道为什么会这样,我该如何应对?fullcalendar是否可能不返回自身的实例

多谢各位


标记

正如我通过阅读源代码所发现的,在2.x.x版本中,不可能链接方法调用

让我告诉你为什么:

这是JQuery插件方法,当调用该方法时,response对象变为被调用的methodresponse

$.fn.fullCalendar=函数(选项){
var args=Array.prototype.slice.call(参数,1);//用于可能的方法调用
var res=this;//此函数将返回什么(默认情况下,此jQuery对象)
this.each(函数(i,_元素){//循环涉及的每个DOM元素
变量元素=$(_元素);
var calendar=element.data('fullCalendar');//获取现有的日历对象(如果有)
var singleRes;//此单个方法调用的返回值
//方法调用
如果(选项类型=='string'){
if(日历和$.isFunction(日历[选项]){
singleRes=日历[选项]。应用(日历,参数);
如果(!i){
res=singleRes;//记录第一个方法调用结果
}
如果(options=='destroy'){//对于destroy方法,必须删除日历对象数据
元素。removeData(“fullCalendar”);
}
}
}
//一个新的日历初始化
否则,如果(!calendar){//不初始化两次
日历=新日历(元素、选项);
元素数据(“完整日历”,日历);
calendar.render();
}
});
返回res;
};
changeView和gotoDate方法都不返回任何内容,因此返回“undefined”

//方法调用
如果(选项类型=='string'){
if(日历和$.isFunction(日历[选项]){
singleRes=日历[选项]。应用(日历,参数);
如果(!i){
res=singleRes;//记录第一个方法调用结果
最简单的解决办法就是更换

返回res;
在文件fullcalendar.js中,使用上述方法

返回这个;
但这肯定不是最好的解决方案,因为任何升级都会删除此“修复”