我正在用fullcalendar jquery插件实现qtip2。两者都是很棒的插件。但是我对qtip定位有疑问。我正在使用以下代码。
$(window).load(function() {
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
var tooltip = $('<div/>').qtip({
id: 'calendar',
prerender: true,
overwrite: false,
content: {
text: ' ',
title: {
button: true
}
},
position: {
my: 'bottom center',
at: 'top center',
target: 'mouse',
viewport: $(window),
adjust: {
mouse: false,
scroll: false
}
},
events: {
hide: function(event, api) {
alert('test');
//$(this).qtip("destroy");
}
},
show: false,
hide: false,
style: 'qtip-light'
}).qtip('api');
/* initialize the calendar
-----------------------------------------------------------------*/
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: true,
droppable: true, // this allows things to be dropped onto the calendar !!!
eventClick: function(data, event, view) {
var content = '<h3>'+data.title+'</h3>' +
'<p><b>Start:</b> '+data.start+'<br />' +
(data.end && '<p><b>End:</b> '+data.end+'</p>' || '');
tooltip.set({
'content.text': content
})
.reposition(event).show(event);
},
dayClick: function() { tooltip.hide() },
eventResizeStart: function() { tooltip.hide() },
eventDragStart: function() { tooltip.hide() },
viewDisplay: function() { tooltip.hide() },
events: [
{
title: 'All Day Event',
start: new Date(y, m, 1)
},
{
title: 'Long Event',
start: new Date(y, m, d-5),
end: new Date(y, m, d-2)
},
{
id: 999,
title: 'Repeating Event',
start: new Date(y, m, d-3, 16, 0),
allDay: false
},
{
id: 999,
title: 'Repeating Event',
start: new Date(y, m, d+4, 16, 0),
allDay: false
},
{
title: 'Meeting',
start: new Date(y, m, d, 10, 30),
allDay: false
},
{
title: 'Lunch',
start: new Date(y, m, d, 12, 0),
end: new Date(y, m, d, 14, 0),
allDay: false
},
{
title: 'Birthday Party',
start: new Date(y, m, d+1, 19, 0),
end: new Date(y, m, d+1, 22, 30),
allDay: false
},
{
title: 'Click for Google',
start: new Date(y, m, 28),
end: new Date(y, m, 29),
url: 'http://google.com/'
}
]
});
});
这是第一次正常工作。我的意思是,当我单击任何事件名称时,如果在弹出窗口内单击或按弹出窗口的关闭按钮并再次单击事件名称,则qtip pop会正确显示,提示工具的位置已更改。它没有显示在具有事件名称..的正确位置上
第二屏(关闭上一个弹出窗口并单击事件名称后)
请为我建议一个解决方案
最佳答案
这似乎是qTip2 2.1.1版的reposition()函数中的错误。如果您使用版本2.2.0,它会按预期工作。
http://qtip2.com/v/stable/jquery.qtip.js
http://qtip2.com/v/stable/jquery.qtip.css