jQuery绑定问题

时间:2010-09-05 11:14:30

标签: jquery binding

function addFav(){
    $.ajax({
      url: "/favorites/add",
      data: {"id": articleID},
      success: function(){
           $('a#fav')
                 .addClass('active')
                 .attr('title','[-] Remove as favorite')
                 .unbind('click')
                 .bind('click','removeFav')
           ;
      }
    });
}

function removeFav(){
    $.ajax({
      url: "/favorites/remove",
      data: {"id": articleID},
      success: function(){
            $('a#fav')
                 .removeClass('active')
                 .attr('title','[+] Add as favorite')
                 .unbind('click')
                 .bind('click','addFav')
            ;
      }
    });
}

$('a#fav').bind('click','addFav');

这就是我现在所拥有的。 当我点击#ef时没有任何反应,是因为我需要将它包装在一个文件中。 我尝试过,但后来我从jQuery库中得到一个错误?在萤火虫中

d is undefined
Line 49

1 个答案:

答案 0 :(得分:1)

您应该将函数(而不是字符串)作为第二个参数传递给bind,例如:

$(document).ready(function() {    
    $('a#fav').bind('click', addFav);
});

请务必在$(document).ready(...中执行此操作,如上例所示,并记住在两个函数中修复bind次调用。