私は小さなアプリを書いています.jqueryを使用して動的にロードされたdivを(フェードアウトのように)削除するのに問題があります。
この問題は、新しいコンテンツ ボックスを追加したときにのみ発生します。ページをリロードし、コンテンツ ボックスが動的ではなく通常 (データベース クエリのように) レンダリングされた場合、(フェードアウトのように) うまく削除されますが、 div が新たに追加されました。取得できません。
$result = '<div class="my-music-item">'. $app['twig']->render('soundcloud-player.twig', array(
'url'=>$mix->getUrl(),
'player_type'=>'artwork',
'url'=>$mix->getUrl(),
'color'=>'ff0948',
'height'=>'200',
'width'=>'200'
)) . '<p class="delete-mix-wrapper"><a class="delete-mix" data-mix-id="'.$mix->getId().'" data-post-to="'.$app['url_generator']->generate('delete-mix-post').'" href="javascript:;">Delete</a></p>' . '</div>';
return new Response(json_encode(array(
'html'=>$result,
'status'=>'true'
)));
これは、div を動的に作成するコードです。
しかし、削除をクリックしても何も起こりません。
ここに、js を介して投稿リクエストを処理するコードがあります。
$('a.delete-mix').on('click', function() {
var parent = $(this).closest('div.my-music-item');
$.post($(this).attr('data-post-to'), { mix_id: $(this).attr('data-mix-id') })
.done(function(data) {
parent.css('background-color', 'pink');
parent.fadeOut('fast');
});
});
私はたくさん読んでいますが、あまり運がありません!また、最初に私のコードは少し異なって見えました。
.on('click', function() {
むしろそうでした
.click(function() {
ご意見をお寄せいただきありがとうございます。