我在我的小部件中使用jqxGrid,有一个下拉列表,JqxGrid一次又一次地加载, 我已将单元格点击事件附加到网格,问题是每次加载网格时,多次调用单元格点击事件。例如,最初打开,称重传感器单击将被调用一次,但如果从下拉列表再次加载网格,则单击单击两次,然后再调用三次...
我附上了样本小提琴,每次点击单击鼠标按钮,网格点击事件都会被添加。我在控制台中打印测试消息。
$('#jqxgrid').on('cellclick', function (event) {});
请在此处查看小提琴FIDDLE SAMPLE
由于
答案 0 :(得分:2)
在您的代码中,每次加载数据时都会重新创建网格。您应该只创建一次,当您加载数据时,只需更新source.data,然后在网格上调用updatebounddata。由于您每次都在重新创建网格,然后创建事件处理程序,因此处理程序只是堆积起来。
请参阅:http://jsfiddle.net/HB3Cb/96/
我将源,dataAdapter和grid的创建移动到init函数中,并公开了init和updateData处理程序:
return {
init: init,
updateData: updateData
}
如果您检查控制台,无论您重新加载数据多少次,您都会看到每次点击只会触发一次处理程序。