我对JavaScript没有足够的了解,这就是我提出这个问题的原因。在我的网站的员工名单仪表板上,我在某些日期徘徊时遇到了一些javascript错误,例如9月8日,9日和7日。 onhover它显示一个带有'null'错误消息的框。可以删除吗?
我使用'完整日历'插件来显示此日期。
这是我的仪表板。 http://www.zaika.com.au/sarkar/ab7/index.php/dashboard
答案 0 :(得分:1)
我确定正在调用的服务器上有一个悬停事件,但黑客解决方案是给这个css,它基本上“摆脱它”,但是需要更长的时间来追踪全日历的启动,我想说这是你向你的服务器调用ajax来请求关于这些事件的信息的情况,但目前还不是很清楚:
.tooltipevent{
display: none !important;
visibility: hidden !important;
opacity: 0;
}
好的,我通读了该文件并找到了令人讨厌的js ....
$('#calendar').fullCalendar({ //re-initialize the calendar
disableDragging: true,
//header: h,
header: {
left: '<input type="text" value="subhash">',
center: 'title',
right: 'prev,next'
},
/* viewRender: function(view, element) {
$('#calendar').fullCalendar( 'gotoDate', 2014, 4, 24 );
}, */
editable: true,
selectable: true,
selectHelper: true,
dayRender: function(date, cell){
if (date < futureBlockDate){
$(cell).addClass('fc-cell-overlay');
}
//$(cell).addClass('fc-cell-overlay')
},
dayClick: function(date, allDay, jsEvent, view) {
var SelectedDate=(date.getFullYear() + '-'+number_change(date.getMonth() + 1) + '-' + number_change(date.getDate()));
$('#start_date').val(SelectedDate);
$( ".datepicker" ).datepicker( "option", "minDate", date);
if(!$(this).hasClass('fc-cell-overlay')){
$('#deleteEvent').hide();
$('#title_popup').html('Create');
$('#editId').val();
$('#stack1_click').trigger('click');}
},
eventClick: function(event, jsEvent, view) {
var unid=event.id;
var type=event.type;
if(type=="leave"){
var reason = event.reason;
var startDate = new Date(event.start);
var endDate = new Date(event.end);
var Start=(startDate.getFullYear() + '-'+number_change(startDate.getMonth() + 1) + '-' + number_change(startDate.getDate()));
var End=(endDate.getFullYear() + '-'+number_change(endDate.getMonth() + 1) + '-' + number_change(endDate.getDate()));
$('#editId').val(unid);
$('#reason').html(reason);
$('#start_date').val(Start);
$('#end_date').val(End);
$('#deleteEvent').show();
$('#title_popup').html('Update');
$('#stack1_click').trigger('click');
}
},
events: {
url: base_url+'employees/fetch_events',
},
eventMouseover: function(calEvent, jsEvent) {
if(calEvent.message!="" && typeof(calEvent.message)!="undefined"){
var tooltip = '<div class="tooltipevent" style="width:100px;height:100px;background:#ccc;position:absolute;z-index:10001;">' + calEvent.message + '</div>';
$("body").append(tooltip);
$(this).mouseover(function(e) {
$(this).css('z-index', 10000);
$('.tooltipevent').fadeIn('500');
$('.tooltipevent').fadeTo('10', 1.9);
}).mousemove(function(e) {
$('.tooltipevent').css('top', e.pageY + 10);
$('.tooltipevent').css('left', e.pageX + 20);
});
}
},
eventMouseout: function(calEvent, jsEvent) {
$(this).css('z-index', 8);
$('.tooltipevent').remove();
},
});
或者更加精彩的是这件作品:
eventMouseover: function(calEvent, jsEvent) {
if(calEvent.message!="" && typeof(calEvent.message)!="undefined"){
var tooltip = '<div class="tooltipevent" style="width:100px;height:100px;background:#ccc;position:absolute;z-index:10001;">' + calEvent.message + '</div>';
$("body").append(tooltip);
$(this).mouseover(function(e) {
$(this).css('z-index', 10000);
$('.tooltipevent').fadeIn('500');
$('.tooltipevent').fadeTo('10', 1.9);
}).mousemove(function(e) {
$('.tooltipevent').css('top', e.pageY + 10);
$('.tooltipevent').css('left', e.pageX + 20);
});
}
},
我不知道你打算用calEvent.message做什么,但你可以做的就是在测试时更改这个,以便忽略所有“falsy”值(包括测试空字符串,undefined和null)这将产生错误:
if(calEvent.message)