我正在使用标准的 jQuery Datepicker,我需要根据一些日常状态信息修改每个 TD 中的文本。我意识到我可以连接 beforeShowDay
事件,但这只允许我修改每个日期的 CSS 信息。希望在整个日历上发生事件,例如 afterRender
等。
我可以修改显示的第一个日历,但如果用户更改月份或年份,我(或我的代码)就会脱离循环。
最佳答案
如果您在 jquery-ui 1.9 版之前需要一个“afterShow”事件,您可以覆盖 datepicker._updateDatepicker 函数。
例如:
$(function() {
$.datepicker._updateDatepicker_original = $.datepicker._updateDatepicker;
$.datepicker._updateDatepicker = function(inst) {
$.datepicker._updateDatepicker_original(inst);
var afterShow = this._get(inst, 'afterShow');
if (afterShow)
afterShow.apply((inst.input ? inst.input[0] : null)); // trigger custom callback
}
});
现在,日期选择器在每次更新日期选择器元素后都会引发“afterShow”事件。
我知道这不是解决这个问题的最佳方法,但总比更改原始 jquery-ui 代码要好。
关于javascript - jQuery Datepicker "After Update"事件或等效事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6334898/