我正在使用fullCalendar,并且在单击事件时生成qTip(显示有关该元素的一系列详细信息)。我希望在qTip中有一些基于被点击元素的链接(因此,动态链接)。这些链接将提供一种编辑fullCalendar事件所基于的底层数据库记录的方法。我想有一些回电处理方式。
以下是我在fullCalendar中构建qTip的方法:
eventRender: function(event, element) {
element.qtip({
content: {
text: "Loading WO info...",
ajax: {
url: "/schedule/get-wo-details/",
type: 'GET',
data: { woID: event.woID },
dataType: 'json',
success: function(data, status) {
var content = "<table class='qtip-table'>"
content += "<table>...add content here...";
content += "<center>";
// Here are my links...
content += "<a href='#'>Unschedule</a> | ";
content += "<a id='qtip-link' href='#'>Edit Note</a>";
content += "</center>";
this.set('content.text', content);
}
}
},
show: {
event: 'click',
},
hide: {
fixed: true,
delay: 1000
},
position: {
viewport: $("#calendar"),
effect: false,
at: "left-center",
my: "right-center"
}
});
我想知道我是否可以做类似的事情:
$("#qtip-link").click(function(){
// Do some ajax magic here...
});
这个,所以我发现,不起作用。我怎么可能实现这个目标?这似乎是一件简单的事情,但似乎无法将一个像样的谷歌搜索查询放在一起找到答案。
由于
答案 0 :(得分:0)
尝试在eventAfterRender中添加click事件处理程序,或使用jQuery的on或live处理程序将处理程序添加到动态创建的链接
答案 1 :(得分:0)
您可以双击渲染事件:
eventRender: function(event, element) {
element.qtip({
content: event.description,
});
element.bind('dblclick', function() {
//put there some code for
});
},
答案 2 :(得分:0)
我相信我明白了。在我创建eventRender
本身的qTip
方法中,我有以下代码:
var e = event.woID;
content += "<a href='#' onclick=unscheduleEvent('" + e + "')>Unschedule</a> | ";
当我生成日历时,这只是创建一个等于我在event
中存储的数据的变量。 content
是进入HTML
的{{1}} - 所以我使用我的变量添加链接以传递给qTip
事件。