我正在尝试扩展 FullCalender 的功能JS插件。我对 javascript OOP 概念和 jQuery 插件开发都很陌生。第一步,我想知道如何使用和访问 FullCalendar 插件。 fullCalendar
方法可以在任何 DOM 元素上调用,而日历参数可以作为 JSON 对象给出:
$('#calendar').fullCalendar({
editable: true, // a parameter
events: "./events.php", // some events
eventRender: function(event, element) { // a callback
// do something here
}
});
我尝试再次调用此创建方法并更改回调 eventRender
但它不起作用。我猜是因为日历只允许在 DOM 元素上激活一个实例。但是,如何在不破坏和重新创建日历的情况下更改参数和回调?
此外,我尝试直接访问日历对象,但我猜由于封装,它不会通过 FullCalendar 公开。相反,我看到 fullCalendar
函数可以用一个字符串来调用,该字符串指定要在日历上调用的方法。这是插件封装的通用机制吗?
最佳答案
关于第一部分,FullCalendar在初始化时合并选项
var options = mergeOptions({}, defaults, instanceOptions);
所以你只能通过
改变eventRender
var currentHandler
$('#calendar').fullCalendar({
eventRender: function(event, element) { // a callback
currentHandler(event, element)
}
});
然后更改 currentHandler
实现(即 currentHandler = myFirstHandler
)
当谈到调用插件方法时,是的,这是一种常见的做法,并在此处进行了描述 How to create a jQuery plugin with methods?
关于Javascript - 初始化后更改 FullCalendar.js 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26577094/