jqueryを介して新しく作成された要素からのイベントをバインドできる方法はありますか?
ここに例があります。
HTML:
<div id="meta_inner" class="gallery">
<div id="medias">
<label for="test_meta_boxes1" ><input id="test_meta_boxes1" type="text" size="100" name="ad_image" value="http://" /><input id="test_meta_boxes_button" class="button" type="button" value="Upload Image" data-int="test_meta_boxes1"/></label>
</div>
<input class="button tagadd add" type="button" value="Add Image Field">
</div>
jQuery
jQuery(document).ready(function($){
var count = $("#medias").children('label').length;
$(".tagadd").on('click', function() {
count = count + 1;
$('#medias').append('<label for="test_meta_boxes'+count+'" ><input id="test_meta_boxes'+count+'" type="text" size="100" name="ad_image" value="http://" /><input id="test_meta_boxes_button" class="button" type="button" value="Upload Image" data-int="test_meta_boxes'+count+'"/></label>' );
return false;
});
$('label').find('#test_meta_boxes_button').on('click', function(e) {
metabox = $(this).data('int');
console.log(metabox);
});
});
これを実行すると。[画像のアップロード]ボタンをクリックすると、最初のラベルが機能し、コンソールウィンドウに印刷されます。
しかし、[画像フィールドの追加]ボタンをクリックして別のラベルを追加すると。[画像のアップロード]ボタンは機能しません。
私は何かが足りないのですか?どんな助けでも大歓迎です。