我有关于完整日历事件的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
来说明我想如何做到这一点。
有谁知道如何做到这一点?或者提供相同功能的替代方案。谢谢。
答案是根据需要将 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>'
}
附加说明(@ Dec 2014):
例如,当您在周和月之间更改视图时,完整日历中的 q提示不会被删除。但是,当您从一个视图移动到另一个视图时,提示将停止绑定。如果随后尝试与在另一个视图中使用自定义 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);
})
}
加载:
$('.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();
});
希望这有帮助