私は次の方法でイベントリスナー/ハンドラーを操作しています。
var _builder_canvas = document.getElementById("Builder");
mouseMove = function() {
}
initBuilder = function( ) {
// Add mouse listener events
_builder_canvas.addEventListener( 'mousemove', mouseMove, true);
}
'initBuilder'がメインドキュメントのonloadハンドラーで呼び出されます。
上記のように空の関数を使用しても、Chrome(23.0.1271.64)またはFF(16.0.2)でこのコードを実行すると、マウスが移動するたびに解放されないメモリが割り当てられます。
メモリリークを回避するためにイベントリスナーを常に削除する必要があることは知っていますが、それがmousemoveハンドラーである場合、どのようにそれを行うのでしょうか。ハンドラーは、ページが開いている間ずっとアクティブである必要があります。
また、mouseupまたはmousedownに対して同様の方法でリスナー/ハンドラーを追加しても、余分なメモリ割り当てが発生しないことにも気づきました。
ここで基本的な何かが欠けていますか?任意の洞察をいただければ幸いです。