2016-02-09 5 views
3

У меня есть страница, использующая десятки экземпляров даты jQuery-UI. Теперь мне нужно добавить дополнительную функциональность функции beforeShowDay.jQuery ui Datepicker - глобальное расширение/переопределение?

Я думал, что это будет правильный путь, пока я не узнаю, что он не использует виджет-фабрику, что делает ее довольно сложной, как я ее получил.

Есть ли способ расширить логику ..

  • , не касаясь каждого экземпляра в DatePicker

  • , не касаясь Jquery-ui.js сам

Вот что я пробовал до сих пор:

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

Это не приводит к ошибкам js, хотя он не регистрирует ничего в консоли при открытии datepicker обычным способом.

ответ

1

Вы можете получить beforeShowDay в $.datepicker._defaults, который по умолчанию равен null. Итак,

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

Это было именно то, что я искал. Большое спасибо! –