Javascript qtip2位置在关闭后发生变化
我正在使用fullcalendar jquery插件实现qtip2。两者都是很好的插件。但我对qtip定位有问题。我正在使用下面的代码Javascript qtip2位置在关闭后发生变化,javascript,jquery,css,qtip2,Javascript,Jquery,Css,Qtip2,我正在使用fullcalendar jquery插件实现qtip2。两者都是很好的插件。但我对qtip定位有问题。我正在使用下面的代码 $(window).load(function() { var date = new Date(); var d = date.getDate(); var m = date.getMonth(); var y = date.getFullYear(); var too
$(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/'
}
]
});
});
$(窗口).load(函数(){
变量日期=新日期();
var d=date.getDate();
var m=date.getMonth();
var y=date.getFullYear();
变量工具提示=$('').qtip({
id:'日历',
预渲染:正确,
覆盖:false,
内容:{
文本:“”,
标题:{
按钮:正确
}
},
职位:{
我的‘底部中心’,
在‘顶尖中心’,
目标:“鼠标”,
视口:$(窗口),
调整:{
老鼠:错,
卷轴:假
}
},
活动:{
隐藏:函数(事件、api){
警报(“测试”);
//$(此).qtip(“销毁”);
}
},
秀:假,,
隐藏:错,
样式:“qtip灯”
}).qtip(“api”);
/*初始化日历
-----------------------------------------------------------------*/
$(“#日历”).fullCalendar({
标题:{
左:“上一个,下一个今天”,
中心:'标题',
右图:“月,agendaWeek,agendaDay”
},
是的,
可拖放:true,//这允许将内容拖放到日历上!!!
事件单击:函数(数据、事件、视图){
变量内容=“”+数据.标题+“”+
'Start:'+data.Start+'
'+
(data.end&&'end:'+data.end+'';
工具提示.set({
“content.text”:内容
})
.重新定位(事件)。显示(事件);
},
dayClick:function(){tooltip.hide()},
eventResizeStart:function(){tooltip.hide()},
eventDragStart:function(){tooltip.hide()},
viewDisplay:function(){tooltip.hide()},
活动:[
{
标题:“全天活动”,
开始:新日期(y、m、1)
},
{
标题:“长期活动”,
开始日期:新日期(y、m、d-5),
结束:新日期(y、m、d-2)
},
{
身份证号码:999,
标题:“重复事件”,
开始日期:新日期(y、m、d-3、16、0),
全天:错
},
{
身份证号码:999,
标题:“重复事件”,
开始日期:新日期(y、m、d+4、16、0),
全天:错
},
{
标题:"会议",,
开始日期:新日期(y、m、d、10、30),
全天:错
},
{
标题:"午餐",,
开始日期:新日期(y、m、d、12、0),
结束:新日期(y、m、d、14、0),
全天:错
},
{
标题:"生日派对",,
开始:新日期(y、m、d+1、19、0),
结束:新日期(y、m、d+1、22、30),
全天:错
},
{
标题:“点击谷歌”,
开始日期:新日期(y、m、28),
结束:新日期(y、m、29),
网址:'http://google.com/'
}
]
});
});
这是第一次运行良好。我的意思是,当我点击任何事件名称qtip pop正确显示后,如果我在弹出窗口内点击或按下弹出窗口的关闭按钮,然后再次点击事件名称,则工具提示的位置发生了变化。事件名称未显示在正确的位置
第二个屏幕(关闭上一个弹出窗口并单击事件名称后)
请为我提供此问题的解决方案这似乎是qTip2 2.1.1版中的resposition()函数中的一个错误。如果您使用的是2.2.0版,它将按预期工作
它适合我,2.2.0版本: 职位:{ ..., 在:“”, ... }, 工具提示.set({ ..., 'position.at':'top center' })