2013-04-07 3 views
8

すべてのイベントハンドラをクリーンアップし、メモリリークを引き起こさないようにjQueryのフログラフを破棄する正しい方法は何ですか?jQuery Flotグラフを破棄する

あなたのイベントハンドラを削除したい場合は、その後jquery off方法を試してみてくださいFLOTが

+0

'$ .plot( '#yourFlotDiv'、{}、{});'どこかに読んでください。どこを正確に覚えていない。 – Ejaz

答えて

3

(別名一戸建てドム木)いくつかのゾンビを残しているようです。

flotグラフをクリアするためです。あなたはdivを空にすることができます。

$('#yourFlotDiv').empty(); 
+0

jQuery.off()に渡す引数は何ですか? – thecountofzero

+0

@thecountofzero $( "#yourFlotDiv")。off( "yourEventHandlerTORemove");詳細はhttp://api.jquery.com/off/を参照してください。 –

+0

flotがすべてのイベントハンドラをクリーンアップし、作成したすべてのDOM要素を削除するようにしています。 – thecountofzero

5

あなたはAPIドキュメントを読めば、あなた

shutdown() 

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

などのためにクリーンアップシャットダウン方法があります。将来的にはここに来る人のために

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

plot.shutdown() 
+0

これは正しく、動作します。 – MirroredFate

4

、シャットダウンを呼び出して、canvas要素を削除するdestroy機能が用意されました。何らかの理由でAPIに文書化されていないが、コードで提供されています:

var flot = $("#FlotDiv").data('plot') 
if (flot) // If it's destroyed, then data('plot') will be undefined 
    flot.destroy(); 
0

あなたは、これが移動するための方法である特定のイベントをバインド解除したい場合にも

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

グラフ

FLOTを削除するには:

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

詳細については、thisを確認してください。

関連する問題