我的Fullcalendar活动提供了qTip2提示。它们使用唯一的顺序Div ID自动渲染,例如
<div id="qtip-0" ...
<div id="qtip-1" ...
<div id="qtip-2" ...
etc ...
我需要直接与这些Div沟通,例如:
function qtip_do_something(DivID){
$('#qtip-' + DivID).... do something
}
我正在努力识别每个qTip的特定Div ID。
我想通过事件内容中的函数调用将此ID传递给函数,如下所示:
eventRender: function (event, element) {
element.qtip({
content: {
text: '<a href="#" onclick="qtip_do_something(' + div.id + '); return false;">Do something</a>'
}
注意:我在上面的示例中使用了div.id
来说明我想要这样做。
有谁知道怎么做?或者提供相同功能的替代方案。感谢。
答案 0 :(得分:0)
答案是根据需要将ID作为JSON或其他来源的一部分传入,然后在元素中使用id: event.id
命名:
eventRender: function (event, element) {
element.qtip({
id: event.id,
content: {
text: '<a href="#" onclick="qtip_do_something(' + event.id + '); return false;">Do something</a>'
}
附加说明(2014年12月):
在更改周和月之间的视图(for-instance)时,不会删除fullcalendar中的qTips。但是,当您从一个视图移动到另一个视图时,提示将停止绑定。如果您尝试与在另一个视图中使用自定义ID 1234创建的现有提示进行交互,因为它已不再绑定,则会创建新ID,但已使用原始提示获取了ID 1234,并且已提供新ID这个新的提示。
您可以在控制台中看到此行为,新提示可能类似于qtip-0
。
我通过删除在点击下一个,上一个,月等按钮时创建的所有提示来解决此问题:
function destroy_all_qtips(){
$('.qtip').each(function(){
$('div.qtip:hidden').qtip('destroy',true);
$('div.qtip:visible').qtip('destroy',true);
})
}
的onload:
$('.prev-button').click(function(){
destroy_all_fc_qtips();
});
$('.next-button').click(function(){
destroy_all_qtips();
});
$('.today-button').click(function(){
destroy_all_qtips();
});
$('.month-button').click(function(){
destroy_all_qtips();
});
$('.agendaWeek-button').click(function(){
destroy_all_qtips();
});
$('.agendaDay-button').click(function(){
destroy_all_qtips();
});
希望这有帮助