KendoUI 网格自定义命令被多次触发

Pau*_*aul 0 kendo-ui kendo-grid

我有一个 KendoUI 网格。其中,其中一列定义了一个自定义命令:

command: { text: "Add", click: addLine }
Run Code Online (Sandbox Code Playgroud)

当用户单击按钮时,此网格会显示在 Kendo 窗口内。同一个按钮会重新渲染网格并首先清除 HTML:

$("#kendoGridQuick").html("");
$("#kendoGridQuick").kendoGrid({
Run Code Online (Sandbox Code Playgroud)

创建网格后,将显示窗口。我的问题是,无论我显示此窗口并创建网格多少次,此命令都会被准确触发。所以它第一次工作正常,但第二次被调用两次,第三次被调用三次,依此类推。

Ona*_*Bai 5

问题是你没有破坏这个Grid物体。您应该Grid.destroy在清除 HTML 之前调用方法。

var grid = $("#kendoGridQuick").data("kendoGrid");
// detach events
grid.destroy();
Run Code Online (Sandbox Code Playgroud)

另外,关闭和打开时尽量节省CPU和内存但不破坏网格。只要您始终使用相同的基本结构,您就可以在窗口即将打开时重新绑定/重新读取新数据(更快、更简单)。