8

以清除所有事件处理程序而不导致内存泄漏的方式销毁 jQuery 浮点图的正确方法是什么?

似乎 flot 留下了一些僵尸(又名分离的 Dom 树)

4

4 回答 4

7

如果您阅读 API 文档,有一个关闭方法可以为您清理

shutdown()

Cleans up any event handlers Flot has currently registered. This
is used internally.

例如。

var plot = $.plot($("#yourDiv"), options)

plot.shutdown()
于 2013-04-11T13:45:09.893 回答
4

对于以后来这里的人来说,现在有一个destroy调用shutdown并移除canvas元素的函数。由于某种原因,它在 API 中没有记录,但在代码中可用:

var flot = $("#FlotDiv").data('plot')
if (flot) // If it's destroyed, then data('plot') will be undefined
    flot.destroy();
于 2014-12-28T19:43:02.663 回答
3

如果要删除事件处理程序,请尝试jquery off方法。

用于清除浮动图。你可以清空div。

$('#yourFlotDiv').empty();
于 2013-04-07T01:58:16.560 回答
0

删除浮动图

var placeholder = $("#FlotDiv");
placeholder.unbind(); //Remove a previously-attached event handler from the elements.
placeholder.empty();

此外,如果您希望取消绑定特定事件,这是要走的路:

$( "#foo").unbind( "click" );

有关更多信息,请查看内容。

于 2016-05-23T12:35:50.727 回答