我在事件上初始化了引导popover,在popover内容中我有按钮(点击按钮调用函数,该函数使用event.setExtendedProp()
方法更改相关事件的extendedProp.status
(
//above of my code FullCalendar has rendered and set as variable var = calendar
eventDidMount: function (info) {
$(info.el).popover({
html: true,
content: PopoverHtml(info.event),
container: 'body',
animation: true,
})
}
由于popover是在事件元素添加到DOM后立即初始化的,我需要重新发送事件来更改popover的内容
eventChange: function (changeInfo) {
event_source = calendar.getEventSourceById(changeInfo.event.id);
event_source.refetch();
},
我还尝试了bootstrapsetContent()
的动态内容设置方法
我使用带有eventClick的popover没有问题:
function event_click(info) {
$('.popover_show').popover('dispose');
$(info.jsEvent.srcElement).popover({
container: 'body',
animation: false,
title: 'Zeitraum: '+fc_date_print(info.event.start, true)+" - "+fc_date_print(info.event.end, false)+
"<a href='#' class='float-right' onclick='form_cancel()' ><img src='/icon/x.svg' width='23' height='23' > </a>",
placement: 'bottom',
boundary: 'window',
sanitize: false,
trigger : 'manual',
popperConfig: {eventsEnabled: false },
"html": true,
content: function(){ a = get_form(info.event.extendedProps['id']); return a; }
});
$(info.jsEvent.srcElement).popover('show');
$(info.jsEvent.srcElement).addClass('popover_show');
}
我在get_form((中动态创建popover内容(目前有两种方式,一种是通过extentedProbes中的javascript,另一种是我通过ajax动态加载popover中的内容。这比提前为每个事件创建popover要高效得多。对我来说效果不错。
线路
$(info.jsEvent.srcElement).popover('show');
做魔术,你不需要第二次点击。
我将类popover_show添加到sourceElement,因此$('.popover_show'(.popover('dispose'(;将关闭所有popover。(我在打开新的popover之前会这样做(但是还有很多其他的方法。