我正在使用Primefaces Schedule组件在我的网络应用中呈现事件。但我需要和他做一个小技巧。对于每个渲染事件,我需要显示包含事件详细信息的工具提示。使用window.onload侦听器和一些jquery函数可以很容易地显示当前日期框架的工具提示。但是,由于时间表使用ajax显示下一个日期框,当我按下next和prev按钮时,工具提示崩溃。我尝试过使用:
window.addEventListener('DOMSubtreeModified', function(){
// create bubble popups
$('.fc-event-inner.fc-event-skin').CreateBubblePopup( options );
}, false);
但似乎需要处理太多而页面变慢。还有其他方法可以为每个呈现的事件添加工具提示吗?
答案 0 :(得分:3)
试试这样:
$(window).load(function() {
$(document).delegate(".fc-event-inner", "mouseenter mouseover", function(event){
$('.fc-event-inner.fc-event-skin').CreateBubblePopup( options );
});
});
<强>更新强>
我有这种感觉,他们在调度程序js文件中的某个地方stopPropagation()
上mouseover
... {/ p>
查看位于 primefaces-3.4.1-sources \ META-INF \ resources \ primefaces \ schedule
的文件中的以下代码片段/* Event Element Binding
-----------------------------------------------------------------------------*/
function lazySegBind(container, segs, bindHandlers) {
container.unbind('mouseover').mouseover(function(ev) {
var parent=ev.target, e,
i, seg;
while (parent != this) {
e = parent;
parent = parent.parentNode;
}
if ((i = e._fci) !== undefined) {
e._fci = undefined;
seg = segs[i];
bindHandlers(seg.event, seg.element, seg);
$(ev.target).trigger(ev);
}
ev.stopPropagation();
});
}
<强>因此... 强>
尝试删除ev.stopPropagation();
顺便说一下,知道调度程序实际上是FullCalendar jQuery plugin,所以如果你谷歌搜索 fullcalendar工具提示
,你可能会发现一些有用的信息。以下是修改后的Primefacess 3.4 jar(调度程序事件无stopPropagation
)的链接