自定义事件外观primefaces计划

时间:2012-10-04 13:19:39

标签: javascript primefaces

我正在使用Primefaces Schedule组件在我的网络应用中呈现事件。但我需要和他做一个小技巧。对于每个渲染事件,我需要显示包含事件详细信息的工具提示。使用window.onload侦听器和一些jquery函数可以很容易地显示当前日期框架的工具提示。但是,由于时间表使用ajax显示下一个日期框,当我按下next和prev按钮时,工具提示崩溃。我尝试过使用:

window.addEventListener('DOMSubtreeModified', function(){
    // create bubble popups
    $('.fc-event-inner.fc-event-skin').CreateBubblePopup( options );
}, false);

但似乎需要处理太多而页面变慢。还有其他方法可以为每个呈现的事件添加工具提示吗?

1 个答案:

答案 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)的链接

相关问题