我有一个自创的内部网格,它显示一组数据并订阅多个事件(例如,行单击事件、列单击事件)。每次调用网格构建函数时,第一行代码是 $grid.empty(),它不仅应该在物理上清空网格中的 DOM 元素,还应该取消绑定这些事件。下面的图表显示了事件侦听器的缓慢但稳定的倾斜。上升趋势是数据被加载到网格中并且事件被连接起来。每个查询平均增加 10-11 个事件侦听器。不可怕,但在一小时内它使应用程序无法使用。我是否遗漏了什么或看错了路?任何帮助表示赞赏。
更多信息:我发现我的 jQuery 函数调用最后没有清除变量。例子:
$.fn.myCustomFunction = function(parm) { var grid = this; {some more code, AJAX call };
最后我需要一个 grid = null 。但是,由于它的上下文,它完全清空了我的网格。