優秀的問題。
我在documentation中找不到任何東西來修復您注意到的奇怪行爲。
對我來說真的是看起來像一個bug。
我對它進行了研究,發現使用onSlect
回調函來散步。
但這意味着禁用任何顯示/隱藏內置動畫。
我不認爲這是一個大問題...
請參閱this CodePen demo問題重新創建,並可以與此解決方案進行比較。
而且,下面是易於剪切和粘貼的代碼(沒有所有演示的console.log)。
$('#datePickTweaked').multiDatesPicker({
// OPTIONS
showAnim:"", // Disables the show/hide animation.
beforeShowDay: $.datepicker.noWeekends, // No week-ends.
dateFormat: "d/m/yy",
maxDate: "+3m",
minDate: "-1m",
multidate: true,
defaultDate:"0d", // Default date selection as of "today".
// Needed to show the right month on focus.
// The "walk-around" is HERE, in the "onSlect" callback.
onSelect: function(){
// Get the "datepicker" object.
var datepickerObj = $(this).data("datepicker");
// Get the "settings" object within "datepicker".
var datepickerSettings = datepickerObj.settings;
// Get the last date picked.
var tempDay = datepickerObj.selectedDay;
var tempMonth = datepickerObj.selectedMonth+1;
var tempYear = datepickerObj.selectedYear;
var pickedDate = tempDay+"/"+tempMonth+"/"+tempYear;
// Remove previous "defaultDate" property.
delete datepickerSettings["defaultDate"];
// Add a new defaultDate property : value.
datepickerSettings.defaultDate=pickedDate;
// "Hacky trick" to avoid having to click twice on prev/next month.
$("#datePickTweaked").blur();
setTimeout(function(){
$("#datePickTweaked").focus();
},1); // 1 millisecond delay seems to be enought!!!
}
});
謝謝路易斯這是我的作品。 –