【问题标题】:Fullcalendar - slow button click responseFullcalendar - 缓慢的按钮点击响应
【发布时间】:2015-10-30 20:21:54
【问题描述】:

我正在使用 Fullcalendar v2.4.0 和相关插件 Scheduler v1.0.2 以及所有必需的依赖项。 jQuery-ui 是 v1.11.4。

我正在使用 Fullcalendar 内置方法通过 Ajax 调用加载资源:

resources: {
     url: 'resources_feed.php',
     type: 'POST'
}

resources_feed.php 只返回几行虚拟数据。

对于事件,使用类似的内置方法:

events: {
     url: 'events_feed.php',
     type: 'POST' 
}

events_feed.php 返回几行虚拟数据。

这一切都按预期工作,直到我插入更真实的大量数据作为资源但仍保持事件数据相同。

我遇到的问题是,像视图(日、周、月)、今天和左/右箭头这样的按钮点击会在至少 2 秒的延迟后响应,有时会更长。它的行为就像在按钮单击和事件触发之间设置了几秒钟的延迟。我试图在 onClick 事件中放置一个警报,并在这几秒钟的延迟后显示警报。

我在 Fullcalendar 对象之外测试了另一个按钮,但在同一页面上,它按预期工作,即在您单击按钮时立即触发。这排除了页面或 jQuery 问题。 Firefox 和 Chrome 中的行为相同。

如果我将资源加载切换回虚拟数据,则按钮在单击后立即开始触发。

我不明白为什么即使在触发 Ajax 调用之前,仍有大量数据仍需获取,也会影响按钮响应。

有人见过这个吗?任何指针将不胜感激。

问候。

【问题讨论】:

    标签: fullcalendar scheduler


    【解决方案1】:

    看起来问题出在您的 events_feed.php 上,也许您在每次调用时都加载了所有数据。也许您没有正确捕捉每个按钮上的 Start 和 End 参数。

    feed.php 应该捕获每次调用的开始和结束。像这样的:

    $start = $_GET['start']);
    $end = $_GET['end']);
    
    // then select database
    

    当我开始使用 fullcalendar 时,我遇到了这个问题。

    希望对你有帮助!

    【讨论】:

    • 感谢大卫,使用 Firebug 我可以看到延迟是在启动 ajax 调用之前。如前所述,我在按钮的 onClick 事件中放置了一个警报,并在此延迟之后显示警报,而不是立即显示。 ajax 调用开始后的延迟是可以理解的,但为什么要在此之前......?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多