2011-11-09 15 views
0

好了,所以我有這個功能被點擊一個聯繫人時,增加了一類用戶的jQuery removeClass當項目點擊菜單上

$(".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鏈接是最後一次。

+2

什麼是「添加一個類用戶」和「本身保存到jQuery的」是什麼意思? –

+0

'lastclicked'將在第一次未定義。您從未實際使用過在此語句中指定的值:'contactinfo = lastclicked.split('/');' - 稍後您將'contactinfo = $(this) .attr('href')。split(「/」);'它就是你實際使用的那個值。 – nnnnnn

回答

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

對於一個簡單的例子看this jsfiddle

0

您是否在函數之前定義了最後點擊爲var