重寫easyUI的alert方法,重寫確認及X號方法
阿新 • • 發佈:2018-12-11
重寫easyUI的alert方法
首先介紹一種用法 js方法向前相容opt.close=opt.close||function(){};
就是預設值 function obj(opt) { opt=opt||{}; opt.close=opt.close||function(){}; this.close=opt.close; } var a = new obj(); a.close(); // 保證這樣呼叫能正常執行,close有值。 var b = new obj({close: function() { alert('zswang路過'); }}); b.close(); // 也可以自己設定 預設引數的好處就是呼叫介面可以向前相容。
這樣使用在改寫js外掛原生方法時可以向原生方法新增內容;
重新實現easyUI的alert彈窗方法,點選X號和確認執行回撥方法;
$.extend($.messager, { alert: function(title, msg, icon, fn, parent) { var isSubmit = false; //任務提交成功後提示資訊去除圖示 if(parent == 'submit'){ parent = undefined; isSubmit = true; } //給父視窗賦值(只有存在父視窗時才會自動賦值) if(!parent && frameElement && frameElement.api) { parent = frameElement.api; } //組織引數 var params = { title: title, id: 'customDCId', icon: 'confirm.gif', fixed: true, lock: true, width:280, //content: "<>"+msg+"<>", content: '<div style="padding-left: -2px;font-size: larger">' + msg + '</div>', resize: false, parent: parent || null, ok: function (here) { var api = this; var parentApi = api.config.parent; if(parentApi){ parentApi.zindex(); } api.close();//存在快取影響,先對提示框進行關閉處理 if(fn){ fn.call(this, here); } return true; } }; if(isSubmit){ params.icon = ''; } if(!parent){ //存在父視窗自動使用父視窗的opener開啟 return $.dialog(params); }else{ return parent.opener.$.dialog(params); } } });