如何捕获dijit.Calendar上月份弹出事件的onChange事件

时间:2013-03-19 09:14:42

标签: dojo calendar

如何在dijit.Calendar上捕获月份弹出事件的onChange事件。 我没有在文档中找到任何内容。 我使用Dojo 1.8

1 个答案:

答案 0 :(得分:0)

日历使用monthWidget引用的内部窗口小部件。此小部件正在调用日历中的_onMonthSelect功能。我没有找到任何方法来获取该事件的事件处理程序(因为它是私有的),但您当然可以通过执行以下操作来覆盖窗口小部件的实现:

myCal._onOldMonthSelect = myCal._onMonthSelect;
myCal._onMonthSelect = function(a) {
    myCal._onOldMonthSelect(a); // The old behavior
    alert("Month changed"); // Your wanted behavior
}

我做了一个例子JSFiddle作为概念证明,但我很确定这可以改进(例如通过扩展小部件)。