单击链接后,使链接无法点击 - jquery

时间:2009-12-17 19:30:37

标签: 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 个答案:

答案 0 :(得分:2)

在click函数中添加一个测试,以查看该链接是否具有正确的“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;
       }                
   });
});

答案 1 :(得分:1)

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