📄 ext-base.js
字号:
_getCacheIndex: function(el, eventName, fn) { for (var i = 0,len = listeners.length; i < len; ++i) { var li = listeners[i]; if (li && li[this.FN] == fn && li[this.EL] == el && li[this.TYPE] == eventName) { return i; } } return -1; }, elCache: {}, getEl: function(id) { return document.getElementById(id); }, clearCache: function() { }, _load: function(e) { loadComplete = true; var EU = Ext.lib.Event; if (Ext.isIE) { EU.doRemove(window, "load", EU._load); } }, _tryPreloadAttach: function() { if (this.locked) { return false; } this.locked = true; var tryAgain = !loadComplete; if (!tryAgain) { tryAgain = (retryCount > 0); } var notAvail = []; for (var i = 0,len = onAvailStack.length; i < len; ++i) { var item = onAvailStack[i]; if (item) { var el = this.getEl(item.id); if (el) { if (!item.checkReady || loadComplete || el.nextSibling || (document && document.body)) { var scope = el; if (item.override) { if (item.override === true) { scope = item.obj; } else { scope = item.override; } } item.fn.call(scope, item.obj); onAvailStack[i] = null; } } else { notAvail.push(item); } } } retryCount = (notAvail.length === 0) ? 0 : retryCount - 1; if (tryAgain) { this.startInterval(); } else { clearInterval(this._interval); this._interval = null; } this.locked = false; return true; }, purgeElement: function(el, recurse, eventName) { var elListeners = this.getListeners(el, eventName); if (elListeners) { for (var i = 0,len = elListeners.length; i < len; ++i) { var l = elListeners[i]; this.removeListener(el, l.type, l.fn); } } if (recurse && el && el.childNodes) { for (i = 0,len = el.childNodes.length; i < len; ++i) { this.purgeElement(el.childNodes[i], recurse, eventName); } } }, getListeners: function(el, eventName) { var results = [], searchLists; if (!eventName) { searchLists = [listeners, unloadListeners]; } else if (eventName == "unload") { searchLists = [unloadListeners]; } else { searchLists = [listeners]; } for (var j = 0; j < searchLists.length; ++j) { var searchList = searchLists[j]; if (searchList && searchList.length > 0) { for (var i = 0,len = searchList.length; i < len; ++i) { var l = searchList[i]; if (l && l[this.EL] === el && (!eventName || eventName === l[this.TYPE])) { results.push({ type: l[this.TYPE], fn: l[this.FN], obj: l[this.OBJ], adjust: l[this.ADJ_SCOPE], index: i }); } } } } return (results.length) ? results : null; }, _unload: function(e) { var EU = Ext.lib.Event, i, j, l, len, index; for (i = 0,len = unloadListeners.length; i < len; ++i) { l = unloadListeners[i]; if (l) { var scope = window; if (l[EU.ADJ_SCOPE]) { if (l[EU.ADJ_SCOPE] === true) { scope = l[EU.OBJ]; } else { scope = l[EU.ADJ_SCOPE]; } } l[EU.FN].call(scope, EU.getEvent(e), l[EU.OBJ]); unloadListeners[i] = null; l = null; scope = null; } } unloadListeners = null; if (listeners && listeners.length > 0) { j = listeners.length; while (j) { index = j - 1; l = listeners[index]; if (l) { EU.removeListener(l[EU.EL], l[EU.TYPE], l[EU.FN], index); } j = j - 1; } l = null; EU.clearCache(); } EU.doRemove(window, "unload", EU._unload); }, getScroll: function() { var dd = document.documentElement, db = document.body; if (dd && (dd.scrollTop || dd.scrollLeft)) { return [dd.scrollTop, dd.scrollLeft]; } else if (db) { return [db.scrollTop, db.scrollLeft]; } else { return [0, 0]; } }, doAdd: function () { if (window.addEventListener) { return function(el, eventName, fn, capture) { el.addEventListener(eventName, fn, (capture)); }; } else if (window.attachEvent) { return function(el, eventName, fn, capture) { el.attachEvent("on" + eventName, fn); }; } else { return function() { }; } }(), doRemove: function() { if (window.removeEventListener) { return function (el, eventName, fn, capture) { el.removeEventListener(eventName, fn, (capture)); }; } else if (window.detachEvent) { return function (el, eventName, fn) { el.detachEvent("on" + eventName, fn); }; } else { return function() { }; } }() }; }(); var E = Ext.lib.Event; E.on = E.addListener; E.un = E.removeListener; if(document && document.body) { E._load(); } else { E.doAdd(window, "load", E._load); } E.doAdd(window, "unload", E._unload); E._tryPreloadAttach(); Ext.lib.Ajax = { request : function(method, uri, cb, data, options) { if(options){ var hs = options.headers; if(hs){ for(var h in hs){ if(hs.hasOwnProperty(h)){ this.initHeader(h, hs[h], false); } } } if(options.xmlData){ if (!hs || !hs['Content-Type']){ this.initHeader('Content-Type', 'text/xml', false); } method = (method ? method : (options.method ? options.method : 'POST')); data = options.xmlData; }else if(options.jsonData){ if (!hs || !hs['Content-Type']){ this.initHeader('Content-Type', 'application/json', false); } method = (method ? method : (options.method ? options.method : 'POST')); data = typeof options.jsonData == 'object' ? Ext.encode(options.jsonData) : options.jsonData; } } return this.asyncRequest(method, uri, cb, data); }, serializeForm : function(form) { if(typeof form == 'string') { form = (document.getElementById(form) || document.forms[form]); } var el, name, val, disabled, data = '', hasSubmit = false; for (var i = 0; i < form.elements.length; i++) { el = form.elements[i]; disabled = form.elements[i].disabled; name = form.elements[i].name; val = form.elements[i].value; if (!disabled && name){ switch (el.type) { case 'select-one': case 'select-multiple': for (var j = 0; j < el.options.length; j++) { if (el.options[j].selected) { var opt = el.options[j], sel = (opt.hasAttribute ? opt.hasAttribute('value') : opt.getAttributeNode('value').specified) ? opt.value : opt.text; data += encodeURIComponent(name) + '=' + encodeURIComponent(sel) + '&'; } } break; case 'radio': case 'checkbox': if (el.checked) { data += encodeURIComponent(name) + '=' + encodeURIComponent(val) + '&'; } break; case 'file': case undefined: case 'reset': case 'button': break; case 'submit': if(hasSubmit == false) { data += encodeURIComponent(name) + '=' + encodeURIComponent(val) + '&'; hasSubmit = true; } break; default: data += encodeURIComponent(name) + '=' + encodeURIComponent(val) + '&'; break; } } } data = data.substr(0, data.length - 1); return data; }, headers:{}, hasHeaders:false, useDefaultHeader:true, defaultPostHeader:'application/x-www-form-urlencoded; charset=UTF-8', useDefaultXhrHeader:true, defaultXhrHeader:'XMLHttpRequest', hasDefaultHeaders:true, defaultHeaders:{}, poll:{}, timeout:{}, pollInterval:50, transactionId:0, setProgId:function(id) { this.activeX.unshift(id); }, setDefaultPostHeader:function(b) { this.useDefaultHeader = b; }, setDefaultXhrHeader:function(b) { this.useDefaultXhrHeader = b; }, setPollingInterval:function(i) { if (typeof i == 'number' && isFinite(i)) { this.pollInterval = i; } }, createXhrObject:function(transactionId) { var obj,http; try { http = new XMLHttpRequest(); obj = { conn:http, tId:transactionId }; } catch(e) { for (var i = 0; i < this.activeX.length; ++i) { try { http = new ActiveXObject(this.activeX[i]); obj = { conn:http, tId:transactionId }; break; } catch(e) { } } } finally { return obj; } }, getConnectionObject:function() { var o; var tId = this.transactionId; try { o = this.createXhrObject(tId); if (o) { this.transactionId++; } } catch(e) { } finally { return o; } }, asyncRequest:function(method, uri, callback, postData) { var o = this.getConnectionObject();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -