ページに複数のdivがあり、動的にページに追加したり、削除したりすることができます。
ページの読み込み時に、動的に作成されたdivはlocalStorage、一意のIDとdivに応じた共通のクラスを使用して読み込まれ、それに伴って関数を呼び出しますcontent()。
関数content()は次のようになります。
function content(){
alert("test");
$(".two button").click(function(){
var id = $(this).parent().attr("id");
alert(id);
});
}
非常に単純で、関数が呼び出されたときに「テスト」を警告するだけで、をクリック.two <button>すると警告が表示され.two <textarea> .val()ます。
これは、divが読み込まれると正常に機能しますが、divのクローンを作成すると問題が発生します。
divのクローンを作成すると、上記のような一意のIDと共通のクラスが提供されます。の最後にcloneDiv()、を呼び出しますcontent()。これにより、内部の要素をクリックすると、上記と同じ結果が得られます。
問題は、関数が画面にdivがある回数だけ呼び出されることですが、<button>divをクリックすると3回.twoアラートが表示されることも意味します。.two <textarea> .val()
TLDR; getのボタンをクリックすると.two、画面上のdivの数だけ呼び出されます。これは、動的divが作成されると関数が呼び出されるためですが、呼び出す必要があるのは1回だけです。
これをすべて行うためのコードはたくさんありますが、何が起こるかをかなり明確に説明したと思います。ただし、それがさらに役立つ場合は、デモを作成します。