我在一个正在使用的网站中使用.live(),似乎它运行不正常,这是我的代码:
$('.comment_cheer').live("click",function(e){
e.preventDefault();
var id = $(this).attr('rel');
var url = $(this).attr('href');
var thisClass = this;
if(like2 == true){
like2 = false;
setTimeout(function(){
$.post(url,function(data){
$(thisClass).fadeOut('slow').fadeIn();
$(thisClass).removeClass('remove');
$(thisClass).addClass('add');
$('#boo_click_'+id).hide();
like2 = true;
});
},500);
}
return false;
});
我想要的是在我发表评论后我可以选择在Cheer和Boo之间点击,当我点击其中任何一个说例如Cheer时,可点击的Boo将消失以防止用户点击它,但它是不工作我想要它的工作。请有人在这指导我吗?。
这是我在Cheer和Boo链接中使用的代码:
<!--Cheer!-->
<span id="cheer_click_<?php echo $all_post['comment_id'];?>" class="add" rel="<?php echo $all_post['comment_id']?>">
<a href ="<?php echo base_url().'socket/likes/'.$all_post['comment_id']?>"
class ="comment_cheer"
rel ="<?php echo $all_post['comment_id']?>"
target ="num_likes_<?php echo $all_post['num_likes']?>"
><span><i class="cheer_icon button_icons_profile_13 padr5"></i>Cheer!</span></a>
</span>
<!--Boo!-->
<span id="boo_click_<?php echo $all_post['comment_id'];?>" class="remove red" rel="<?php echo $all_post['comment_id']?>">
<a href ="<?php echo base_url().'socket/unlike/'.$all_post['comment_id']?>"
class ="comment_boo"
rel ="<?php echo $all_post['comment_id']?>"
target ="num_boos_<?php echo $all_post['num_likes']?>"
><span><i class="cheer_icon button_icons_profile_14 padr5"></i>Boo!</span></a>
</span>
答案 0 :(得分:0)
您是否在点击处理程序之外的某处定义了like2
并为其指定了值true
?如果不正确或未定义,Boo
在您点击Cheer
时不会消失。检查此fiddle。我虽然禁用了ajax帖子。
问题还可能是你的ajax帖子失败了,结果回调函数没有运行。在回调中执行控制台日志以确保调用该函数。