0

当我单击下面的列表项 (li) 时,我将它的 id 从 sprite-heart 更改为 sprite-stars。这很好用。

但是,一旦我再次单击 li,它就会像处理 sprite-heart 一样处理该功能,但现在应该绕过该功能,因为列表项是 sprite-stars。

我怎样才能改变这个?

<li><a class="navit" id="sprite-heart" title="Love this webcam! Add to my personal webcam page" href="#"><span class="love">Love this webcam</span></a></li>




    $("#sprite-heart").click(function() {

    addfavcam();

    });

    function addfavcam()
    {


   $.ajax({
        url: '/v3/ajax/addfavourite.php',
        type: 'POST',
        data: {id: <?php echo $cam_id; ?>, usr: 'x<?php echo $user_id; ?>'},
        success: function(responseText){


    $('#sprite-heart').attr('id','sprite-stars');
    $('#sprite-heart,#sprite-stars').attr('title','My favourite');

        },
        error: function(responseText){
        }
    });

    }
4

1 回答 1

2

您需要取消绑定事件,而不仅仅是更改 id。只需添加

 $("#sprite-heart").click(function() { $(this).unbind('click'); ... }
于 2012-07-01T06:56:08.403 回答