jQuery ui Datepicker语言 - global extend/override?



我有一个使用数十个jQuery-UI的日期选择器实例的页面。现在我需要向 beforeShowDay 函数添加其他功能。

我认为,扩展它将是正确的方法,直到我发现它不使用小部件工厂,这使得扩展在我的情况下非常困难。

有没有办法扩展逻辑..

  • 无需触摸日期选取器的每个实例化

  • 而不接触 jquery-UI 本身.js

这是我到目前为止尝试过的:

$(document).ready(function() {
    $.extend($.ui.datepicker.prototype, {
        beforeShowDay: function(d) {
            console.log(d);
        }
    });
});

这不会导致 js 错误,即使它在以常见方式打开日期选择器时不会在控制台中记录任何内容。

您可以在默认null $.datepicker._defaults中访问beforeShowDay。所以

$.datepicker._defaults.beforeShowDay = function(date){
    console.log(date);
    return date;
}

最新更新