0

我在我的小部件中使用 jqxGrid,有一个下拉菜单,通过它一次又一次地加载 JqxGrid,我已将单元格单击事件附加到网格,问题是每次加载网格时,都会调用多次单元格单击事件。例如,最初打开时,称重单元单击将被调用一次,但如果再次从下拉列表中加载网格,则单元格单击被调用两次,然后再次调用三次。

我附上了示例小提琴,每次单击单元格单击按钮时,都会添加网格单击事件。我正在控制台中打印测试消息。

 $('#jqxgrid').on('cellclick', function (event) {});

请在此处查看小提琴FIDDLE SAMPLE

谢谢

4

1 回答 1

2

在您的代码中,您每次加载数据时都在重新创建网格。您应该只创建一次,当您加载数据时,只需更新 source.data,然后在网格上调用 updatebounddata。由于您每次都在重新创建网格,然后创建事件处理程序,因此处理程序只是堆积如山。

见:http: //jsfiddle.net/HB3Cb/96/

我将源、dataAdapter 和网格的创建移到了一个 init 函数中,并公开了 init 和 updateData 处理程序:

return {
    init: init,
    updateData: updateData
}

如果您检查控制台,您会看到处理程序每​​次单击只会触发一次,无论您重新加载数据多少次。

于 2015-01-12T19:39:17.393 回答