我想在年视图中为fullcalendar添加工具提示。我尝试使用下面的一个,但它在月视图中添加了工具提示。我试过谷歌,但没有找到任何与此相关的内容。还有其他方法可以在年视图中添加工具提示吗?
eventMouseover: function(calEvent,jsEvent) {
xOffset = 10;
yOffset = 30;
$("body").append(calEvent.tooltip);
$("#tooltip")
.css("top",(jsEvent.clientY - xOffset) + "px")
.css("left",(jsEvent.clientX + yOffset) + "px")
.fadeIn("fast");
},
eventMouseout: function(calEvent,jsEvent) {
$("#tooltip").remove();
}
答案 0 :(得分:47)
eventMouseover: function(calEvent, jsEvent) {
var tooltip = '<div class="tooltipevent" style="width:100px;height:100px;background:#ccc;position:absolute;z-index:10001;">' + calEvent.title + '</div>';
var $tooltip = $(tooltip).appendTo('body');
$(this).mouseover(function(e) {
$(this).css('z-index', 10000);
$tooltip.fadeIn('500');
$tooltip.fadeTo('10', 1.9);
}).mousemove(function(e) {
$tooltip.css('top', e.pageY + 10);
$tooltip.css('left', e.pageX + 20);
});
},
eventMouseout: function(calEvent, jsEvent) {
$(this).css('z-index', 8);
$('.tooltipevent').remove();
},
答案 1 :(得分:29)
您可以使用html title属性而无需任何工具提示库:
$('#calendar').fullCalendar({
events: [
{
title: 'My Event',
start: '2014-01-01',
tooltip: 'This is a cool event'
}
// more events here
],
eventRender: function(event, element) {
element.attr('title', event.tooltip);
}
});
答案 2 :(得分:6)
自1.5版以来,您可以使用qtip(我也使用tipsy但它应该与工具提示一起使用)来显示事件的提示:
$('#calendar').fullCalendar({
events: [
{
title: 'My Event',
start: '2010-01-01',
description: 'This is a cool event'
}
// more events here
],
eventRender: function(event, element) {
element.qtip({
content: event.description
});
}
});
doc来源:http://arshaw.com/fullcalendar/docs/event_rendering/eventRender/
希望这会有所帮助
答案 3 :(得分:2)
由于全日历已根据the documentation更改了最新版本的事件,因此我在更改jincheng's answer时没有给出更详细的答案
弹出窗口看起来像这样
它不需要任何js或css插件
您可以使用工具对象之类的另一个对象来更改事件数据或有效负载,并像在您的js中那样使用
events: [
{
title: 'My Event',
start: '2019-01-01',
popup: {
title: 'This is the title',
descri: 'This is the description',
}
}
// more events here
],
eventMouseEnter: function(info) {
var tis=info.el;
var popup=info.event.extendedProps.popup;
var tooltip = '<div class="tooltipevent" style="top:'+($(tis).offset().top-5)+'px;left:'+($(tis).offset().left+($(tis).width())/2)+'px"><div>' + popup.title + '</div><div>' + popup.descri + '</div></div>';
var $tooltip = $(tooltip).appendTo('body');
// If you want to move the tooltip on mouse movement then you can uncomment it
// $(tis).mouseover(function(e) {
// $(tis).css('z-index', 10000);
// $tooltip.fadeIn('500');
// $tooltip.fadeTo('10', 1.9);
// }).mousemove(function(e) {
// $tooltip.css('top', e.pageY + 10);
// $tooltip.css('left', e.pageX + 20);
// });
},
eventMouseLeave: function(info) {
console.log('eventMouseLeave');
$(info.el).css('z-index', 8);
$('.tooltipevent').remove();
},
工具提示的CSS类似于上面的屏幕截图
.tooltipevent{
width:200px;/*
height:100px;*/
background:#ccc;
position:absolute;
z-index:10001;
transform:translate3d(-50%,-100%,0);
font-size: 0.8rem;
box-shadow: 1px 1px 3px 0px #888888;
line-height: 1rem;
}
.tooltipevent div{
padding:10px;
}
.tooltipevent div:first-child{
font-weight:bold;
color:White;
background-color:#888888;
border:solid 1px black;
}
.tooltipevent div:last-child{
background-color:whitesmoke;
position:relative;
}
.tooltipevent div:last-child::after, .tooltipevent div:last-child::before{
width:0;
height:0;
border:solid 5px transparent;/*
box-shadow: 1px 1px 2px 0px #888888;*/
border-bottom:0;
border-top-color:whitesmoke;
position: absolute;
display: block;
content: "";
bottom:-4px;
left:50%;
transform:translateX(-50%);
}
.tooltipevent div:last-child::before{
border-top-color:#888888;
bottom:-5px;
}
答案 4 :(得分:0)
这里有另一个实现
eventMouseover: function(calEvent, jsEvent) { var tooltip = '<div class="tooltipevent" style="width:130px;height:100px;background:#aed0ea;position:absolute;z-index:10001;"> Title: ' + calEvent.title + '</div>'; var $tool = $(tooltip).appendTo('body');
$(this).mouseover(function(e) {
$(this).css('z-index', 10000);
$tool.fadeIn('500');
$tool.fadeTo('10', 1.9);
}).mousemove(function(e) {
$tool.css('top', e.pageY + 10);
$tool.css('left', e.pageX + 20);
});
},
eventMouseout: function(calEvent, jsEvent) {
$(this).css('z-index', 8);
$('.tooltipevent').remove();
},