⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ext-core-debug.js

📁 ext-2.3.0
💻 JS
📖 第 1 页 / 共 5 页
字号:
        var e = this.methodEvents[method];        if(!e){            e = {};            this.methodEvents[method] = e;            e.originalFn = this[method];            e.methodName = method;            e.before = [];            e.after = [];            var returnValue, v, cancel;            var obj = this;            var makeCall = function(fn, scope, args){                if((v = fn.apply(scope || obj, args)) !== undefined){                    if(typeof v === 'object'){                        if(v.returnValue !== undefined){                            returnValue = v.returnValue;                        }else{                            returnValue = v;                        }                        if(v.cancel === true){                            cancel = true;                        }                    }else if(v === false){                        cancel = true;                    }else {                        returnValue = v;                    }                }            }            this[method] = function(){                returnValue = v = undefined; cancel = false;                var args = Array.prototype.slice.call(arguments, 0);                for(var i = 0, len = e.before.length; i < len; i++){                    makeCall(e.before[i].fn, e.before[i].scope, args);                    if(cancel){                        return returnValue;                    }                }                if((v = e.originalFn.apply(obj, args)) !== undefined){                    returnValue = v;                }                for(var i = 0, len = e.after.length; i < len; i++){                    makeCall(e.after[i].fn, e.after[i].scope, args);                    if(cancel){                        return returnValue;                    }                }                return returnValue;            };        }        return e;    },    // adds an "interceptor" called before the original method    beforeMethod : function(method, fn, scope){        var e = this.getMethodEvent(method);        e.before.push({fn: fn, scope: scope});    },    // adds a "sequence" called after the original method    afterMethod : function(method, fn, scope){        var e = this.getMethodEvent(method);        e.after.push({fn: fn, scope: scope});    },    removeMethodListener : function(method, fn, scope){        var e = this.getMethodEvent(method);        for(var i = 0, len = e.before.length; i < len; i++){            if(e.before[i].fn == fn && e.before[i].scope == scope){                e.before.splice(i, 1);                return;            }        }        for(var i = 0, len = e.after.length; i < len; i++){            if(e.after[i].fn == fn && e.after[i].scope == scope){                e.after.splice(i, 1);                return;            }        }    }};Ext.util.Observable.prototype.on = Ext.util.Observable.prototype.addListener;Ext.util.Observable.prototype.un = Ext.util.Observable.prototype.removeListener;Ext.util.Observable.capture = function(o, fn, scope){    o.fireEvent = o.fireEvent.createInterceptor(fn, scope);};Ext.util.Observable.releaseCapture = function(o){    o.fireEvent = Ext.util.Observable.prototype.fireEvent;};(function(){    var createBuffered = function(h, o, scope){        var task = new Ext.util.DelayedTask();        return function(){            task.delay(o.buffer, h, scope, Array.prototype.slice.call(arguments, 0));        };    };    var createSingle = function(h, e, fn, scope){        return function(){            e.removeListener(fn, scope);            return h.apply(scope, arguments);        };    };    var createDelayed = function(h, o, scope){        return function(){            var args = Array.prototype.slice.call(arguments, 0);            setTimeout(function(){                h.apply(scope, args);            }, o.delay || 10);        };    };    Ext.util.Event = function(obj, name){        this.name = name;        this.obj = obj;        this.listeners = [];    };    Ext.util.Event.prototype = {        addListener : function(fn, scope, options){            scope = scope || this.obj;            if(!this.isListening(fn, scope)){                var l = this.createListener(fn, scope, options);                if(!this.firing){                    this.listeners.push(l);                }else{ // if we are currently firing this event, don't disturb the listener loop                    this.listeners = this.listeners.slice(0);                    this.listeners.push(l);                }            }        },        createListener : function(fn, scope, o){            o = o || {};            scope = scope || this.obj;            var l = {fn: fn, scope: scope, options: o};            var h = fn;            if(o.delay){                h = createDelayed(h, o, scope);            }            if(o.single){                h = createSingle(h, this, fn, scope);            }            if(o.buffer){                h = createBuffered(h, o, scope);            }            l.fireFn = h;            return l;        },        findListener : function(fn, scope){            scope = scope || this.obj;            var ls = this.listeners;            for(var i = 0, len = ls.length; i < len; i++){                var l = ls[i];                if(l.fn == fn && l.scope == scope){                    return i;                }            }            return -1;        },        isListening : function(fn, scope){            return this.findListener(fn, scope) != -1;        },        removeListener : function(fn, scope){            var index;            if((index = this.findListener(fn, scope)) != -1){                if(!this.firing){                    this.listeners.splice(index, 1);                }else{                    this.listeners = this.listeners.slice(0);                    this.listeners.splice(index, 1);                }                return true;            }            return false;        },        clearListeners : function(){            this.listeners = [];        },        fire : function(){            var ls = this.listeners, scope, len = ls.length;            if(len > 0){                this.firing = true;                var args = Array.prototype.slice.call(arguments, 0);                for(var i = 0; i < len; i++){                    var l = ls[i];                    if(l.fireFn.apply(l.scope||this.obj||window, arguments) === false){                        this.firing = false;                        return false;                    }                }                this.firing = false;            }            return true;        }    };})();Ext.EventManager = function(){    var docReadyEvent, docReadyProcId, docReadyState = false;    var resizeEvent, resizeTask, textEvent, textSize;    var E = Ext.lib.Event;    var D = Ext.lib.Dom;    // fix parser confusion    var xname = 'Ex' + 't';    var elHash = {};    var addListener = function(el, ename, fn, wrap, scope){        var id = Ext.id(el);        if(!elHash[id]){            elHash[id] = {};        }        var es = elHash[id];        if(!es[ename]){            es[ename] = [];        }        var ls = es[ename];        ls.push({            id: id,            ename: ename,            fn: fn,            wrap: wrap,            scope: scope        });         E.on(el, ename, wrap);        if(ename == "mousewheel" && el.addEventListener){ // workaround for jQuery            el.addEventListener("DOMMouseScroll", wrap, false);            E.on(window, 'unload', function(){                el.removeEventListener("DOMMouseScroll", wrap, false);            });        }        if(ename == "mousedown" && el == document){ // fix stopped mousedowns on the document            Ext.EventManager.stoppedMouseDownEvent.addListener(wrap);        }    }    var removeListener = function(el, ename, fn, scope){        el = Ext.getDom(el);        var id = Ext.id(el), es = elHash[id], wrap;        if(es){            var ls = es[ename], l;            if(ls){                for(var i = 0, len = ls.length; i < len; i++){                    l = ls[i];                    if(l.fn == fn && (!scope || l.scope == scope)){                        wrap = l.wrap;                        E.un(el, ename, wrap);                        ls.splice(i, 1);                        break;                    }                }            }        }        if(ename == "mousewheel" && el.addEventListener && wrap){            el.removeEventListener("DOMMouseScroll", wrap, false);        }        if(ename == "mousedown" && el == document && wrap){ // fix stopped mousedowns on the document            Ext.EventManager.stoppedMouseDownEvent.removeListener(wrap);        }    }    var removeAll = function(el){        el = Ext.getDom(el);        var id = Ext.id(el), es = elHash[id], ls;        if(es){            for(var ename in es){                if(es.hasOwnProperty(ename)){                    ls = es[ename];                    for(var i = 0, len = ls.length; i < len; i++){                        E.un(el, ename, ls[i].wrap);                        ls[i] = null;                    }                }                es[ename] = null;            }            delete elHash[id];        }    }    var fireDocReady = function(){        if(!docReadyState){            docReadyState = true;            Ext.isReady = true;            if(docReadyProcId){                clearInterval(docReadyProcId);            }            if(Ext.isGecko || Ext.isOpera) {                document.removeEventListener("DOMContentLoaded", fireDocReady, false);            }            if(Ext.isIE){                var defer = document.getElementById("ie-deferred-loader");                if(defer){                    defer.onreadystatechange = null;                    defer.parentNode.removeChild(defer);                }            }            if(docReadyEvent){                docReadyEvent.fire();                docReadyEvent.clearListeners();            }        }    };    var initDocReady = function(){        docReadyEvent = new Ext.util.Event();        if(Ext.isGecko || Ext.isOpera) {            document.addEventListener("DOMContentLoaded", fireDocReady, false);        }else if(Ext.isIE){            document.write("<s"+'cript id="ie-deferred-loader" defer="defer" src="/'+'/:"></s'+"cript>");            var defer = document.getElementById("ie-deferred-loader");            defer.onreadystatechange = function(){                if(this.readyState == "complete"){                    fireDocReady();                }            };        }else if(Ext.isWebKit){            docReadyProcId = setInterval(function(){                var rs = document.readyState;                if(rs == "complete") {                    fireDocReady();                 }            }, 10);        }        // no matter what, make sure it fires on load        E.on(window, "load", fireDocReady);    };    var createBuffered = function(h, o){        var task = new Ext.util.DelayedTask(h);        return function(e){            // create new event object impl so new events don't wipe out properties            e = new Ext.EventObjectImpl(e);            task.delay(o.buffer, h, null, [e]);        };    };    var createSingle = function(h, el, ename, fn, scope){        return function(e){            Ext.EventManager.removeListener(el, ename, fn, scope);            h(e);        };    };    var createDelayed = function(h, o){        return function(e){            // create new event object impl so new events don't wipe out properties            e = new Ext.EventObjectImpl(e);            setTimeout(function(){                h(e);            }, o.delay || 10);        };    };    var listen = function(element, ename, opt, fn, scope){        var o = (!opt || typeof opt == "boolean") ? {} : opt;        fn = fn || o.fn; scope = scope || o.scope;        var el = Ext.getDom(element);        if(!el){            throw "Error listening for \"" + ename + '\". Element "' + element + '" doesn\'t exist.';        }        var h = function(e){            // prevent errors while unload occurring            if(!window[xname]){                return;            }            e = Ext.EventObject.setEvent(e);            var t;            if(o.delegate){                t = e.getTarget(o.delegate, el);                if(!t){                    return;                }            }else{                t = e.target;            }            if(o.stopEvent === true){                e.stopEvent();            }            if(o.preventDefault === true){               e.preventDefault();            }            if(o.stopPropagation === true){                e.stopPropagation();            }            if(o.normalized === false){                e = e.browserEvent;            }            fn.call(scope || el, e, t, o);        };        if(o.delay){            h = createDelayed(h, o);        }        if(o.single){            h = createSingle(h, el, ename, fn, scope);        }        if(o.buffer){            h = createBuffered(h, o);        }        addListener(el, ename, fn, h, scope);        return h;    };    var propRe = /^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,        curWidth = 0,        curHeight = 0;    var pub = {            addListener : function(element, eventName, fn, scope, options){            if(typeof eventName == "object"){

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -