如何使標簽a處於不可用狀態


今天做項目的時候突然發現a標簽下用disabled無法使它的點擊事件失效(貌似ie下可以,沒有測試過),

首先說一下項目要求,點擊a標簽(點擊之后以防多次快速點擊,這里需要點擊后使標簽a實現),觸發ajax提交數據,成功后回調函數里

再使其恢復點擊可用:

$('#goaid').click(function(){
     $( this).prop("disabled", true);//無法使a標簽失效
        $.ajax({
            url:'check.php',
            type:'POST',
            data:{
            'mobile':$('#mobile').val()
            },
            dataType:'json',
            success:function(response){
                if(response.result==1) {
                    //數據處理
                }else{
                    //數據處理
                }
            }
        });
   });

因為之前處理這種情況一直是用button處理,一直沒有留意a不支持disbled

現在要說解決方案了

第一種:設置一個全局變量

$(function(){
   var flag = 1;
   $('#goaid').click(function(){
       if( flag == 1){
            flag = 0;
            $.ajax({
                url:'check.php',
                type:'POST',
                data:{
                'mobile':$('#mobile').val()
                },
                dataType:'json',
                success:function(response){
                    flag = 1;
                    if(response.result==1) {
                           //數據處理 
                    }else{
                        //數據處理
                    }
                }
            });
       }
   });
});

第二種:將兩個元素疊在一起

只是個人的一種想法,做兩個相同樣子的元素(其中一個為觸發元素)

function kai(){
  $("#kai").hide();
  $("#guan").show();
}
function guan(){
  $("#kai").show();
  $("#guan").hide();
}

第三種:動態添加和刪除class

$('.class').click(function(){
       if($(this).hasClass("op_disable")){
        return false;
    }
    $(this).addClass("op_disable");
    $.ajax({
    ....
        success:function(){
              $(this).removeClass("op_disable");
         }
    });
});        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM