3

尝试添加微调器(kendo.ui.progress)以显示进程中的 crud 操作,用于在保存事件中创建启动微调器并在数据绑定中结束,但删除(销毁)在删除事件中开始,但无法判断何时销毁完全的。有事件 requestEnd 但它永远不会被调用——可能在旧版本的 kendo ui 中不支持它。

还有另一种方法是在销毁操作中定义 ajax 函数,例如 destroy:function(options){$.ajax...} 以及 ajax 停止微调器的成功或失败回调,但我不想这样做。

除了上述两个解决方案之外,还有什么方法可以知道销毁操作何时完成?

4

2 回答 2

2

使用requestStart, sync,显示隐藏requestEnd微调器是不明智的。这样,您必须编写代码来显示和隐藏每个数据源中的微调器。如果显示/隐藏代码改变了会发生什么?

更好的主意是定义一个全局处理程序以在第一次请求后显示微调器并在最后一次响应后隐藏微调器。Global Ajax Event Handlers在这种情况下最好。

.ajaxStart()Register a handler to be called when the first Ajax request begins.

.ajaxStop()Register a handler to be called when all Ajax requests have completed.


例子:

$( document ).ajaxStart(function() {
    kendo.ui.progress($("#app"), true);
});
//----------------------------------------------
$( document ).ajaxStop(function() {
    kendo.ui.progress($("#app"), false);
});
于 2014-05-09T20:59:39.683 回答
0

您可以使用该sync事件。它在数据源保存数据项更改后触发。 http://docs.telerik.com/kendo-ui/api/framework/datasource#events-sync

dataSource    : {
   transport   : {
     read: {
         url:...
     }
   },

   sync: function () {
      kendo.ui.progress($("#loading"), false);

   }
}
于 2014-05-09T02:13:46.090 回答