jQuery和清除事件监听器

时间:2013-07-23 14:12:28

标签: jquery events event-listener

我有一个自创的内部网格,它显示一组数据并订阅几个事件(例如,行点击事件,列点击事件)。每次调用网格构建函数时,第一行代码都是$ grid.empty(),它不仅应该物理清空它的DOM元素的网格,还要取消绑定这些事件。我的下图显示了一个缓慢而稳定的事件监听器倾斜。上升是将数据加载到网格中并将事件连接起来。每个查询平均增加10-11个事件监听器。并不可怕,但在一小时内,它使应用程序无法使用。我错过了什么或俯视错误的道路吗?任何帮助表示赞赏。

Event Listener Graph in Google Chrome Dev Tools

更多信息:我发现我的jQuery函数调用最后没有清除变量。例如:

$.fn.myCustomFunction = function(parm) { var grid = this; {some more code, AJAX call };

我最后需要一个grid = null。但是,由于它的上下文,它完全清空了我的网格。

1 个答案:

答案 0 :(得分:1)

使用委托:

$grid.on('click','tr',function(){
    //code stuff here
});