0

好的,所以我有这个功能,当点击联系人时,它会向用户添加一个类

 $(".contactlink").live("click",function(e){
            if(lastclicked == $(this).attr('href'))
            {
            return false;   
            }
            contactinfo = lastclicked.split('/');
            alert(lastclicked);

            lastclicked = $(this).attr('href');
            contactinfo = $(this).attr('href').split("/");
            $("#friend_"+contactinfo[2]).addClass('active');
            loadcontactinfo(contactinfo[2]);
            //alert( contactinfo[2] );
            return false;                                   
        }); 

一切正常,但这部分功能似乎并没有将它自己保存到 jquery 中。

contactinfo = lastclicked.split('/');
alert(lastclicked);

因为当我最后点击它时,它不会提醒我最后点击的 href 链接是什么。

4

2 回答 2

0

您是否在函数之前将 lastclicked 定义为var

于 2011-11-09T01:36:40.687 回答
0

您应该确保var在适当的范围内声明变量。尝试类似:

// declare lastclicked before created your click function
var lastclicked = '';
$(".contactlink").live("click",function(e){
    if(lastclicked == $(this).attr('href')) {
       return false;   
    }
    alert(lastclicked);
    // use var for local variables
    var contactinfo = $(this).attr('href').split("/");
    lastclicked = $(this).attr('href');

    $("#friend_"+contactinfo[2]).addClass('active');
    loadcontactinfo(contactinfo[2]);
    //alert( contactinfo[2] );
    return false;                                   
}); 

有关简化示例,请参见此 jsfiddle

于 2011-11-09T01:37:50.530 回答