jQuery UIのDatepickerでinline表示するとbeforeShowイベントが正常に行われない

jQuery UIのDatepickerをinline表示させ、こちらのサイトの方法を使用して祝日を表示させようとしたところ、ページロードが完了しただけでは祝日が適用されず、月を変更しないと祝日のデータが適用されない現象に悩まされました。

調べてみると、どうやらDatepickerのbeforeShowイベントがうまく動作していない様子。
それっぽい単語で検索してみるとStackOverFlowで「beforeShow event not firing on jQueryUI Datepicker」というタイトルの記事を発見しました。

その記事に従い、下記のスクリプトをjquery-ui.jsのあとにローディングすることで改善しました。
[javascript](function ($) {
$.extend($.datepicker, {

// Reference the orignal function so we can override it and call it later
_inlineDatepicker2: $.datepicker._inlineDatepicker,

// Override the _inlineDatepicker method
_inlineDatepicker: function (target, inst) {

// Call the original
this._inlineDatepicker2(target, inst);

var beforeShow = $.datepicker._get(inst, ‘beforeShow’);

if (beforeShow) {
beforeShow.apply(target, [target, inst]);
}
}
});
}(jQuery));[/javascript]

スポンサーリンク
レクタングル大