Fullcalendar 设置光标样式不';工作不好

Fullcalendar 设置光标样式不';工作不好,fullcalendar,fullcalendar-scheduler,Fullcalendar,Fullcalendar Scheduler,我试图将光标在当前日期前几天设置为“不下降”,在当前日期后几天设置为“指针” 我试过使用css:fc过去、fc今天、fc未来,效果很好,我也试过使用jquery插件配置,效果也很好 dayRender: function( date, cell ) { var yesterday = moment(); if (date <= yesterday) { cell.css('background', '#F1F1F1'); cell.css('cur

我试图将光标在当前日期前几天设置为“不下降”,在当前日期后几天设置为“指针”

我试过使用css:fc过去、fc今天、fc未来,效果很好,我也试过使用jquery插件配置,效果也很好

dayRender: function( date, cell ) { 
    var yesterday = moment();
    if (date <= yesterday) {
      cell.css('background', '#F1F1F1');
      cell.css('cursor', 'no-drop');
    }else{
      cell.css('cursor', 'pointer');
    }                        
}
dayRender:函数(日期,单元格){
var昨天=时刻();

if(date这是一个棘手的问题。问题是fullcalendar用户界面的构建方式使日单元格不是一个单位,而是包含重叠表的同级div

设置光标的
单元格
对象
no drop
仅将其设置为其中一个表。因此,您甚至无法通过设置类来欺骗它并将其应用于所有子级,因为它们不是子级,而是嵌套的同级

因此,您可以在单元格渲染时设置一个类来欺骗它,在整个日历渲染之后,您可以搜索所有重叠元素(在您的情况下是TDs),并将它们设置为
光标:“不拖放”

将此类添加到css中:

.cell-no-drop {
  cursor: 'no-drop'
}
并将完整日历中的
daydrender
eventAfterAllRender
设置为:

dayRender: function( date, cell ) { 
    var yesterday = moment();
    if (date <= yesterday) {
        $(cell).css('background', '#F1F1FF');
        $(cell).addClass('cell-no-drop');   

    }else{
        cell.css('cursor', 'pointer');
    }                        
},
eventAfterAllRender: function(view, element){
    var dts = $("#calendar").find('td');

    $($(".cell-no-drop")).each(function(){
        var self = this;
        $(dts).each(function(){    
            var pos = $(self).offset();
            var w = pos.left + $(self).width();
            var h = pos.top + $(self).height();

            if (pos.top <= $(this).offset().top && $(this).offset().top <= h &&  pos.left <= $(this).offset().left && $(this).offset().left <= w){
                $(this).css('cursor', 'no-drop');
            }
        });
    });
},
dayRender:函数(日期,单元格){
var昨天=时刻();

if(date这是一个棘手的问题。问题是fullcalendar用户界面的构建方式使日单元格不是一个单位,而是包含重叠表的同级div

设置光标的
单元格
对象
no drop
仅将其设置为其中一个表。因此,您甚至无法通过设置类来欺骗它并将其应用于所有子级,因为它们不是子级,而是嵌套的同级

因此,您可以在单元格渲染时设置一个类来欺骗它,在整个日历渲染之后,您可以搜索所有重叠元素(在您的情况下是TDs),并将它们设置为
光标:“不拖放”

将此类添加到css中:

.cell-no-drop {
  cursor: 'no-drop'
}
并将完整日历中的
daydrender
eventAfterAllRender
设置为:

dayRender: function( date, cell ) { 
    var yesterday = moment();
    if (date <= yesterday) {
        $(cell).css('background', '#F1F1FF');
        $(cell).addClass('cell-no-drop');   

    }else{
        cell.css('cursor', 'pointer');
    }                        
},
eventAfterAllRender: function(view, element){
    var dts = $("#calendar").find('td');

    $($(".cell-no-drop")).each(function(){
        var self = this;
        $(dts).each(function(){    
            var pos = $(self).offset();
            var w = pos.left + $(self).width();
            var h = pos.top + $(self).height();

            if (pos.top <= $(this).offset().top && $(this).offset().top <= h &&  pos.left <= $(this).offset().left && $(this).offset().left <= w){
                $(this).css('cursor', 'no-drop');
            }
        });
    });
},
dayRender:函数(日期,单元格){
var昨天=时刻();

如果(日期)很有效!谢谢我没有意识到用这种方式来解决问题。很有效!谢谢我没有意识到用这种方式来解决问题。