2017-10-04 5 views
0

私は、私は追加されたhtmlのイベントトリガーの問題?

$('.removed').on('click', function (e) { 
    console.log("e", e); 
    e.preventDefault(); 
}); 

を書かれている。しかし、イベントがある私は、クリック機能

をしたい私はこの1つを追加している、これまでに動的

var img = $('<img id="dynamic" class="removed">'); //Equivalent: $(document.createElement('img')) 
      img.attr('alt', "remove"); 
      imageForm.append(img) 

、どこで画像タグを追加しようとしていますトリガーされません。これを解決するにはどうすればよいですか?あなたが書いたクリック機能は、クラス=との任意の要素を見つけることができません$(document)を経由して、イベントを添付し、あなたはハンドラをアタッチしたいセレクタ

$(document).on('click', '.removed', function (e) { 
    console.log("e", e); 
    e.preventDefault(); 
}); 
+1

_event delegation_で読んでください。 – CBroe

答えて

1

。イメージを動的に追加しているため削除されました。このような場合、関数を既存の要素、つまり静的要素にバインドする必要があります。 この関数をイメージの親static要素にバインドするか、または単にドキュメントにバインドすることができます。 コードは次のようになります。

$(document).on('click','.removed',function(e){ 
    e.preventDefault(); 
    console.log("e",e); 
}); 
1

を渡す必要があり、動的に作成された要素については

関連する問題