Ajax を使用して 3 つの p ボックスを動的に作成した後、クリック イベントをボックスにバインドすると機能しないのはなぜですか? ajax の作成時にイベントをバインドすることのみが有用ですか?これにより 3 回バインドされます。これはなぜですか?もっと良い方法はありますか?
たとえば、jquery の実装を見てみましょう
$(document).on('click','#a',function(){ //TODO }); 1階の回答を拝借すると、まず親要素を見つけてからバインドできると思います
動的にロードされた DOM で onclick を使用しても機能しません。 $(document).on('click','#a',function(){} ) を使用すると機能します。試してみてください。
これを実現するには、たとえばイベント委任を使用できます
ラッパーにリスト(.list)を追加したい場合は、次のようにデリゲートを書くことができます(簡単な書き方):
JQ の on メソッドとデリゲート メソッドを使用できます。ネイティブの場合は、イベント委任を使用します。
たとえば、jquery の実装を見てみましょう
リーリー リーリー リーリー$(document).on('click','#a',function(){ //TODO }); 1階の回答を拝借すると、まず親要素を見つけてからバインドできると思います
動的にロードされた DOM で onclick を使用しても機能しません。 $(document).on('click','#a',function(){} ) を使用すると機能します。試してみてください。
これを実現するには、たとえばイベント委任を使用できます
リーリーラッパーにリスト(.list)を追加したい場合は、次のようにデリゲートを書くことができます(簡単な書き方):
リーリーJQ の on メソッドとデリゲート メソッドを使用できます。ネイティブの場合は、イベント委任を使用します。