当新项目被添加到SharePoint日历时,正在运行Javascript函数



我需要在日历列表视图中为事件着色。

我使用_spbodyonloadfunctionnames.push(myFunction),但是我的函数在页面加载时执行。

如果我添加新的事件,这个函数不会执行。

如何给新事件上色?

当在列表视图中执行部分请求时,可能会有一些神奇的数组/函数来处理,但是现在我可以建议的是对日历的refreshItems方法进行monkey patch,因此您可以在加载事件和补丁事件上调用函数。

(function(){
    var oldRefreshItems = SP.UI.ApplicationPages.CalendarContainer.prototype.refreshItems;
    SP.UI.ApplicationPages.CalendarContainer.prototype.refreshItems = function(){
        alert("I happen on every partial refresh"); // your function
        return oldRefreshItems.call(this, null);
    };
})();

最新更新