jquery 防止多次提交,全局策略

 微信掃一掃關注個公衆號。謝謝各位

 

<button type="button" class="btn btn-primary" id="addBtn" initdisabled>保存</button>

爲要提交的按鈕,增加一個屬性。我這邊起名是initdisabled

 

定義一個工具類。綁定事件的。

var EventUtils = {
    add:function(ele,type,callback){
       var ele = ele[0]//這樣的做法是:jquery元素轉js元素。
        if(ele.addEventListener){
            ele.addEventListener(type,callback,false)
        }else if(ele.attachEvent){
            ele.attachEvent('on'+type,callback)
        }else{
            ele['on'+type] = callback;
        }
    }

}

 

EventUtils.add($('[initdisabled]'),'click',function(){

$('[initdisabled]').attr("disabled","disabled");

//設置6秒鐘進行按鈕恢復。具體時間,可以根據業務走
    setTimeout(function(){
        $('[initdisabled]').removeAttr("disabled");
    },6000)

})

可以爲上面兩個事件,封裝在js中。進行頁面引用。

例如:

$(function(){

var EventUtils = {
    add:function(ele,type,callback){
       var ele = ele[0]//這樣的做法是:jquery元素轉js元素。
        if(ele.addEventListener){
            ele.addEventListener(type,callback,false)
        }else if(ele.attachEvent){
            ele.attachEvent('on'+type,callback)
        }else{
            ele['on'+type] = callback;
        }
    }

}

EventUtils.add($('[initdisabled]'),'click',function(){

$('[initdisabled]').attr("disabled","disabled");

//設置6秒鐘進行按鈕恢復。具體時間,可以根據業務走
    setTimeout(function(){
        $('[initdisabled]').removeAttr("disabled");
    },6000)

})

})

只要引用下。按鈕加上initdisabled屬性,就可以做全局的了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章