我有关于我的全日程表活动的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的具体分区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来说明我想要怎么做。
有人知道怎么做吗?或者提供相同功能的替代方案。谢谢。
发布于 2014-11-26 20:14:59
解决这个问题的方法是将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):
当你在周和月之间切换视图时,完整日历中的qTips不会被删除(例如)。但是,当您从一个视图移动到另一个视图时,提示将停止绑定。如果您随后尝试与在另一个视图中使用自定义ID 1234创建的现有tip进行交互,因为它不再被绑定,因此会创建一个新的ID,但是已经使用了原始tip的id 1234,并为这个新的tip提供了一个新的ID。
你可以在控制台中看到这种行为,新的提示很可能是类似qtip-0的东西。
我解决了这个问题,删除了在点击next、previous、month等按钮时创建的所有提示:
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();
}); 希望这能有所帮助
https://stackoverflow.com/questions/27147904
复制相似问题