Javascript - 初始化后更改 FullCalendar.js 回调

标签 javascript jquery-plugins fullcalendar

我正在尝试扩展 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/

相关文章:

fullcalendar - 如何使用 json 为 fullcalendar 的事件对象传递动态参数?

Fullcalendar 防止 eventDidMount 在拖动时不断触发

javascript - 如何将特定的 Json 部分作为独立对象返回?

javascript - JavaScript 中的字符串构建和连接

javascript - AngularJS - 如何缓存服务的 ajax 结果以在 Controller 中重用

javascript - Jstestdriver 设置和拆卸

jquery - 字母数字方法不适用于验证插件?

javascript - 选择值列表时的浏览器后退按钮

jquery - FullCalendar - 如何让它只显示每周日历

php - 与原始元素相比,HTML 元素在我的网站上显示得更大?