2009-12-17 225 views
2

我試圖在鏈接被點擊後不可點擊鏈接,點擊鏈接後點擊鏈接。基本上只是一個切換,但我需要使活動鏈接不可點擊以防止切換。這裏是我的代碼:一旦點擊了鏈接,就不可點擊鏈接 - jquery

$(document).ready(function(){ 
     $("#Espanol").hide(); 
     $("#espLink").addClass("nonSelected");   
     // Make english link unclickable 
     $("#espLink").click(function(){ 
      $("#engLink").addClass("nonSelected"); 
      $("#espLink").removeClass("nonSelected"); 
      $("#English").toggle(); 
      $("#Espanol").toggle();  
      // need to make espanol link unclickable 
      // and english link clickable    
     }); 

     $("#engLink").click(function(){ 
      $("#espLink").addClass("nonSelected"); 
      $("#engLink").removeClass("nonSelected"); 
      $("#English").toggle(); 
      $("#Espanol").toggle(); 
      // need to make english link unclickable 
      // and espanol link clickable   
     }); 
    }); 

和HTML:

<a id="engLink">English</a> | <a id="espLink">Español</a> 

任何人都知道如何做到這一點?

回答

2

在點擊函數中添加一個測試,看鏈接是否有'nonSelected'類。如果沒有,點擊上沒有任何反應。

$(document).ready(function(){ 
    $("#Espanol").hide(); 
    $("#espLink").addClass("nonSelected");   
    // Make english link unclickable 
    $("#espLink").click(function(){ 
     if($(this).hasClass('nonSelected')){ 
      $("#engLink").addClass("nonSelected"); 
      $("#espLink").removeClass("nonSelected"); 
      $("#English").toggle(); 
      $("#Espanol").toggle();  
      // need to make espanol link unclickable 
      // and english link clickable  
     }else{ 
      return false; 
     }   
    }); 

    $("#engLink").click(function(){ 
     if($(this).hasClass('nonSelected')){ 
      $("#espLink").addClass("nonSelected"); 
      $("#engLink").removeClass("nonSelected"); 
      $("#English").toggle(); 
      $("#Espanol").toggle(); 
      // need to make english link unclickable 
      // and espanol link clickable 
     }else{ 
      return false; 
     }     
    }); 
}); 
+0

謝謝。非常感激。 – plntxt

1
$("#espLink").click(function() 
{ 
    if ($(this).data('clicked')) { 
     return false; 
    } 
    $(this).data('clicked', 1); 
});