$ .Post第二次不开火

我试图制作一个“关注”按钮,但返回的数据,即“取消关注”按钮,无效。

$('.follow_button').click(function() { //event.preventDefault(); var visitor_user_id = $('.follow_button').attr('id'); $('#link_visitor_follow').empty().append('
Follow
'); $.post('/unime/user_follow.php', {'type':'follow_me', visitor_user_id:visitor_user_id}, function(data){ if(data){ $('#link_visitor_follow').empty().html(data); } }); return false; }); $('.unfollow_button').click(function() { //event.preventDefault(); var visitor_user_id = $('.unfollow_button').attr('id'); $('#link_visitor_unfollow').empty().append('
Following
'); $.post('/unime/user_follow.php', {'type':'unfollow_me', visitor_user_id:visitor_user_id}, function(data){ if(data){ $('#link_visitor_unfollow').empty().html(data); } }); return false; });

PHP返回数据:

 echo " Unfollow"; 

当我单击取消关注按钮时,它不起作用,虽然我有它的代码设置。 PHP本身没有任何问题。 当我点击取消关注时,它甚至没有调用Ajax。

您只能绑定到当前存在的元素。 如果他们不这样做,您需要委托将存在的元素。

更改:

 $('.unfollow_button').click(function() { 

至:

 $('#link_visitor_follow').on('click', '.unfollow_button', function() { 

并且它会将点击委托给尚未存在的元素,事件将从取消关注按钮冒出来,直到它到达具有事件绑定的link_visitor_follow,并且由于它来自取消关注按钮,它现在将调用事件(如果这有意义) 。

此外,您需要为关注按钮执行相同操作,以防他们关注,取消关注,然后再次关注。

戴夫的回答应该足够你的问题,但如果你使用的是1.7以下的jQuery,你可以尝试这些;

 $('.unfollow_button').live('click', function() { //your code here })