私はjavascriptを使用して、ラッパー内に含まれるdiv内のcanvas要素に描画しています。キャンバスとそのdivは、ラッパーのinnerHTMLに追加することで動的に生成されます。目標は、無限の数のキャンバスを生成できるようにすることです。
<div id="wrapper">
<div id="container"><canvas id="previous"></canvas></div>
<!-- infinite # of container divs & canvases -->
</div>
ただし、ラッパーのinnerHTMLに新しいdivとcanvasを追加すると、前のキャンバスに描画されたものはすべて失われます。
ページの他の場所、コンテナの外部のdiv、またはコンテナの子に新しいキャンバスを追加した場合:
<div id="wrapper">
<div id="container"><canvas id="previous"></canvas></div>
</div>
<div id="wrapper2">
<!-- newly inserted canvas: -->
<div id="container"><canvas></canvas></div>
</div>
また:
<div id="wrapper">
<div id="container"><canvas id="previous"></canvas></div>
<div id="wrapperChild">
<!-- newly inserted canvas: -->
<div id="container"><canvas></canvas></div>
</div>
</div>
その後、前のキャンバスが保持されます。
ラッパーまたはその親のinnerHTMLを変更すると、キャンバスがクリアされます。キャンバスのクリアを回避する方法について何かアドバイスはありますか?キャンバスに描画されたものを他の場所に保存して復元できますか?