代码之家  ›  专栏  ›  技术社区  ›  personaelit

单击链接后使其不可单击-jquery

  •  2
  • personaelit  · 技术社区  · 15 年前

    我试图使一个链接一旦被点击就不可点击,然后再点击另一个链接。基本上只是一个切换,但我需要使活动链接不可点击,以防止切换。这是我的代码:

    $(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 回复  |  直到 15 年前
        1
  •  2
  •   munch    15 年前

    在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;
           }                
       });
    });
    
        2
  •  1
  •   just somebody    15 年前
    $("#espLink").click(function ()
    {
        if ($(this).data('clicked')) {
            return false;
        }
        $(this).data('clicked', 1);
    });