我很抱歉英语不好。我准备像facebook一样的墙。一切都正常。 但我在删除按钮时遇到问题。旧船删除按钮工作正常。但是,当我创建一个新帖子时。 删除按钮不起作用。但是当我刷新页面时它会起作用。我使用的是JavaScript代码。 你可以找到我的代码。为了更好地理解我,我制作了一个jpg文件:JPG File PHP和Javascript:
<?php
foreach($updatesarray as $data)
{
$msg_id=$data['msg_id'];
$orimessage=$data['message'];
$message=tolink(htmlentities($data['message']));
$time=$data['created'];
$username=$data['username'];
$uid=$data['uid_fk'];
$face=$Wall->Gravatar($uid);
$commentsarray=$Wall->Comments($msg_id);
?>
<script type="text/javascript">
$(document).ready(function()
{
$("._link").click(function(event)
{
var $gonderibody = $(event.target).closest(".gonderibody");
if($(".bubset", $gonderibody).css('display')=='none')
{
$(".u_p_a", $gonderibody).addClass('open');
$(".bubset", $gonderibody).css('display','block');
}
else
{
$(".bubset", $gonderibody).css('display','none');
$(".u_p_a", $gonderibody).removeClass('open');
}
});
$(document).click(function(e)
{
if($(e.target).attr('class')!='_link')
{
if($(".bubset").css('display')=='block')
{
if($('.u_p_a').hasClass('open'))
{
$('.u_p_a').removeClass('open');
}
$(".bubset").css('display','none');
}
}
});
});
</script>
<script type="text/javascript">
$(document).ready(function(){$("#stexpand<?php echo $msg_id;?>").oembed("<?php echo $orimessage; ?>",{maxWidth: 400, maxHeight: 300});});
</script>
<div class="gonderibody" id="gonderibody<?php echo $msg_id;?>">
<div class="u_p_a">
<a class="_link"></a>
<div class="bubset">
<ul class="root">
<li><a class="stdelete" href="#" id="<?php echo $msg_id;?>" title="Delete update">Sil</a></li>
</ul>
</div>
</div>
<div class="gonderen_resim_zaman_isim">
<div class="gonderen_resmi">
<img src="<?php echo $face;?>" class='big_face'/>
</div>
<div class="gonderen_adi"><?php echo $username;?>Mustafa öztürk</div>
<div class="gonderim_zamani"><?php time_stamp($time);?>birkaç dakika önce</div>
</div>
<div class="gonderi"><?php echo $message;?></div>
<div class="begen_yorum_paylas">
<div class="u_byp"><a href="#">Beğen</a></div>
<div class="u_byp"><a href='#' class='commentopen' id='<?php echo $msg_id;?>' title='Comment'>Yorum yap </a></div>
<div class="u_byp"><a href="#">Paylaş</a></div>
</div>
<div id="stexpandbox">
<div id="stexpand<?php echo $msg_id;?>"></div>
</div>
<div class="commentcontainer" id="commentload<?php echo $msg_id;?>">
<?php include('load_comments.php') ?>
</div>
<div class="commentupdate" style='display:none' id='commentbox<?php echo $msg_id;?>'>
<div class="stcommentimg_mini">
<img src="<?php echo $cface;?>" class='small_face'/>
</div>
<div class="stcommenttext" >
<form method="post" action="">
<textarea name="comment" class="comment" id="ctextarea<?php echo $msg_id;?>"></textarea>
<br />
<input type="submit" value=" Comment " id="<?php echo $msg_id;?>" class="comment_button"/>
</form>
</div>
</div>
</div>
<?php
}
?>
答案 0 :(得分:0)
您的代码存在多个问题。
html DOM中的id属性需要是UNIQUE。不要给你的id = msg_id和你的删除链接id = msg_id
事件处理程序仅附加到页面上已有的DOM对象。如果你添加一个元素,它将没有附加事件处理程序。要将事件处理程序也添加到未来的DOM元素,您需要使用委托事件处理程序。使用简单的jQuery。
错误:
$('#yourEl').click( function (){
//...code
});
右:
$(document).on('click', '#yourEl', function(){
//...code
)};
如果要查找文档中的所有新元素,请使用文档。更好地使用较小的范围。也许.u_p_a?