Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript FullCalendar-使日期不可单击_Javascript_Jquery_Fullcalendar_Fullcalendar Scheduler - Fatal编程技术网

Javascript FullCalendar-使日期不可单击

Javascript FullCalendar-使日期不可单击,javascript,jquery,fullcalendar,fullcalendar-scheduler,Javascript,Jquery,Fullcalendar,Fullcalendar Scheduler,我正在使用fullcalendar,我想知道是否有办法使某些日期不可查找。到目前为止,我使用的函数将日历上的所有“日方格”日期与我之前定义的最长日期进行比较。如果日期超过了最大日期,我会添加一个类来灰显它们。它们仍然可以点击。隐藏它们会影响日历的布局,看起来很糟糕 // Grey out the dates that go beyond the maximum availability date var maxParsed = Date.pars

我正在使用fullcalendar,我想知道是否有办法使某些日期不可查找。到目前为止,我使用的函数将日历上的所有“日方格”日期与我之前定义的最长日期进行比较。如果日期超过了最大日期,我会添加一个类来灰显它们。它们仍然可以点击。隐藏它们会影响日历的布局,看起来很糟糕

            // Grey out the dates that go beyond the maximum availability date 
            var maxParsed = Date.parse(maxDate.toString());
            $("td[data-date]").each(function(){
                var date = $(this).data('date');
                var dateParsed = Date.parse(date);
                if(!isNaN(dateParsed) && dateParsed > maxParsed){
                    $(this).addClass('fc-other-month');
                }
            });

在jQuery的帮助下,在您不希望被单击的日期,在
单击
事件(我猜您为其分配了不同的类)上返回false。因此,他们不会在单击时采取行动…

请借助jQuery,并在您不希望被单击的日期,在
单击事件(我猜您为其分配了不同的类)上返回false。所以他们不会在点击时动作…

我认为只有你能处理css。在css上执行以下操作:

.fc-other-month {
  pointer-events: none;
  cursor: default;
}
CSS属性指针事件允许作者控制 特定图形元素的情况(如有)可能成为 鼠标事件的目标。如果未指定此属性,则相同 VisiblePaint值的特征适用于SVG内容

您可以在此处了解更多信息:

如果它不起作用,也许预防默认值可以起作用

$('.fc-other-month').on('click', function(e) {
   e.preventDefault();
   $(this).css({'pointer-events' : 'none'});
});
==编辑====

我查阅了文档,他们有
eventClick
。您可以在该函数中检查它是否为“良好日期”,如果不想被单击,则返回false

$('#calendar').fullCalendar({
    eventClick: function(calEvent, jsEvent, view) {

        if ( 1==1 || "this is a day without click feature") { //dummy code
           return false; //prevent clickable function
        }

    }
});

我认为,使用css,只有你才能处理这个问题。在css上执行以下操作:

.fc-other-month {
  pointer-events: none;
  cursor: default;
}
CSS属性指针事件允许作者控制 特定图形元素的情况(如有)可能成为 鼠标事件的目标。如果未指定此属性,则相同 VisiblePaint值的特征适用于SVG内容

您可以在此处了解更多信息:

如果它不起作用,也许预防默认值可以起作用

$('.fc-other-month').on('click', function(e) {
   e.preventDefault();
   $(this).css({'pointer-events' : 'none'});
});
==编辑====

我查阅了文档,他们有
eventClick
。您可以在该函数中检查它是否为“良好日期”,如果不想被单击,则返回false

$('#calendar').fullCalendar({
    eventClick: function(calEvent, jsEvent, view) {

        if ( 1==1 || "this is a day without click feature") { //dummy code
           return false; //prevent clickable function
        }

    }
});

这些都不起作用。我甚至尝试从day square中删除所有类(据我所知,它们只是控制了颜色/位置等),并调用.unbind()来解除所有事件的绑定。仍然可以点击..你确定吗?我直接在演示(devtools)中添加了指针事件:无,数字不再可点击。我还强迫js添加css。再试一次,因为它不起作用。我甚至尝试从day square中删除所有类(据我所知,它们只是控制了颜色/位置等),并调用.unbind()来解除所有事件的绑定。仍然可以点击..你确定吗?我直接在演示(devtools)中添加了指针事件:无,数字不再可点击。我还强迫js添加css。再试一次