0

Javascript を使用して要素を作成し、.itemクリックして削除したいと考えています。なぜ機能し.click()ないのですか?

$('.item').click(function() {
    $(this).remove();
});

実用的な解決策 (なぜそれが機能するのですか? の代わりに常にこれを使用しないのはなぜ.click()ですか?):

$(document).on('click','.item',function() {
    $(this).remove();
});
4

3 に答える 3

3

$('.item')itemそのセレクターで jQuery コンストラクターを呼び出した時点で、 のクラスを持つすべての要素を返します。次に、イベント ハンドラーをそれぞれにアタッチします。新しい要素を説明するようには設計されていません。

イベント委任構文は、クリック ハンドラーをバインドし、すべてのクリック イベントdocumentを処理します。イベントのターゲットがセレクター ( ) に一致する要素であった場合、イベントは受け入れられます。.item

この質問も参照してください: Javascript イベント委任を極端にしないのはなぜですか?

于 2013-07-17T04:04:12.633 に答える