我正在编写一个小应用程序,并且在使用 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处理post请求的代码。
$('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() {
提前感谢您的意见!