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);

私が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 に答える