【发布时间】:2014-08-21 20:52:18
【问题描述】:
我正在使用淘汰赛,它是 foreach 绑定将表行绑定到表中。我不会更新 UI 来添加或删除行,这一切都是通过淘汰赛完成的。我还使用提示的 js 库向这些行添加工具提示。问题是我没有引用 typescript 或 typescript d.ts 定义中用于提示 js 的行。我让它与这段丑陋的代码一起工作。
setInterval(function () {
Tipped.create('.tipped'); // create tooltips and listeners
$(".tipped").removeClass("tipped"); // don't attach twice
}, 500);
这将只添加一次事件,然后在以后跳过它们。
问题在于,虽然敲除在删除一行时会删除它自己的绑定,但小费不会。这会导致内存泄漏,因为越来越多的事件侦听器留给页面上不再存在的元素。它们永远不会被垃圾回收。
解决方案是否将是添加和删除我的小费的自定义 foreach 绑定?
【问题讨论】:
标签: javascript jquery memory-leaks typescript knockout-2.0