JQueryUI Datepicker - 将事件添加到禁用日期

JQueryUI Datepicker - Adding Event to Disabled Date

我有一个 JQueryUI 日期选择器,使用 beforeShowDay 参数禁用了一些日子。我知道您可以使用该参数添加工具提示,但我需要触发一条显示 "This date may not be selected."

的消息

这可能吗?我试过 onSelect 参数,但只有在选择启用日期时才会触发。我也试过给禁用日期一个 class,然后向带有 class 的项目添加一个点击事件,但它似乎也没有用。

function unavailable(date) {
    var dmy = date.getDate() + "/" + (date.getMonth() + 1) + "/" + date.getFullYear();
    if ($.inArray(dmy, formattedDates) == -1) {
        return [true, ""];
    } else {
        return [false, '', 'Unavailable'];
    }
}
$('#' + className).datepicker({
    controlType: 'select',
    minDate: minDate,
    maxDate: maxDate,
    defaultDate: maxDate,
    dateFormat: 'dd M yy',
    setDate: maxDate,
    beforeShowDay: unavailable
});

如果您需要触发自定义 tool-tip,请发送 alert 消息或任何想法:

根据文档,第二个参数是 CSS class:

[1]: a CSS class name to add to the date's cell or "" for the default presentation https://api.jqueryui.com/datepicker/#option-beforeShowDay

所以..为禁用日添加一个 class 称为 "custom-tool-tip" 或其他名称并设置一个事件侦听器。

$('body').on('click', '.custom-tool-tip', function(e) { // or whatever event(s) you want to listen to
    alert('This date may not be selected.');
});