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

📄 eventmanager.js

📁 ajax框架extjs是一套完整的富客户端解决方案
💻 JS
📖 第 1 页 / 共 3 页
字号:
         * @param {Function} fn The method the event invokes         * @param {Object} scope (optional) An object that becomes the scope of the handler         * @param {boolean} options (optional) An object containing standard {@link #addListener} options         */         onDocumentReady : function(fn, scope, options){			if(!docReadyEvent){                initDocReady();			}			if(docReadyState || Ext.isReady){ // if it already fired				options || (options = {});				fn.defer(options.delay||0, scope);			}else{				docReadyEvent.addListener(fn, scope, options);			}        },        /**         * Fires when the window is resized and provides resize event buffering (50 milliseconds), passes new viewport width and height to handlers.         * @param {Function} fn        The method the event invokes         * @param {Object}   scope    An object that becomes the scope of the handler         * @param {boolean}  options         */        onWindowResize : function(fn, scope, options){            if(!resizeEvent){                resizeEvent = new Ext.util.Event();                resizeTask = new Ext.util.DelayedTask(function(){                    resizeEvent.fire(D.getViewWidth(), D.getViewHeight());                });                E.on(window, "resize", this.fireWindowResize, this);            }            resizeEvent.addListener(fn, scope, options);        },        // exposed only to allow manual firing        fireWindowResize : function(){            if(resizeEvent){                if((Ext.isIE||Ext.isAir) && resizeTask){                    resizeTask.delay(50);                }else{                    resizeEvent.fire(D.getViewWidth(), D.getViewHeight());                }            }        },        /**         * Fires when the user changes the active text size. Handler gets called with 2 params, the old size and the new size.         * @param {Function} fn        The method the event invokes         * @param {Object}   scope    An object that becomes the scope of the handler         * @param {boolean}  options         */        onTextResize : function(fn, scope, options){            if(!textEvent){                textEvent = new Ext.util.Event();                var textEl = new Ext.Element(document.createElement('div'));                textEl.dom.className = 'x-text-resize';                textEl.dom.innerHTML = 'X';                textEl.appendTo(document.body);                textSize = textEl.dom.offsetHeight;                setInterval(function(){                    if(textEl.dom.offsetHeight != textSize){                        textEvent.fire(textSize, textSize = textEl.dom.offsetHeight);                    }                }, this.textResizeInterval);            }            textEvent.addListener(fn, scope, options);        },        /**         * Removes the passed window resize listener.         * @param {Function} fn        The method the event invokes         * @param {Object}   scope    The scope of handler         */        removeResizeListener : function(fn, scope){            if(resizeEvent){                resizeEvent.removeListener(fn, scope);            }        },        // private        fireResize : function(){            if(resizeEvent){                resizeEvent.fire(D.getViewWidth(), D.getViewHeight());            }        },        /**         * Url used for onDocumentReady with using SSL (defaults to Ext.SSL_SECURE_URL)         */        ieDeferSrc : false,        /**         * The frequency, in milliseconds, to check for text resize events (defaults to 50)         */        textResizeInterval : 50    };     /**     * Appends an event handler to an element.  Shorthand for {@link #addListener}.     * @param {String/HTMLElement} el The html element or id to assign the event handler to     * @param {String} eventName The type of event to listen for     * @param {Function} handler The handler function the event invokes     * @param {Object} scope (optional) The scope in which to execute the handler     * function (the handler function's "this" context)     * @param {Object} options (optional) An object containing standard {@link #addListener} options     * @member Ext.EventManager     * @method on     */    pub.on = pub.addListener;    /**     * Removes an event handler from an element.  Shorthand for {@link #removeListener}.     * @param {String/HTMLElement} el The id or html element from which to remove the event     * @param {String} eventName The type of event     * @param {Function} fn The handler function to remove     * @return {Boolean} True if a listener was actually removed, else false     * @member Ext.EventManager     * @method un     */    pub.un = pub.removeListener;    pub.stoppedMouseDownEvent = new Ext.util.Event();    return pub;}();/**  * Fires when the document is ready (before onload and before images are loaded).  Shorthand of {@link Ext.EventManager#onDocumentReady}.  * @param {Function} fn        The method the event invokes  * @param {Object}   scope    An  object that becomes the scope of the handler  * @param {boolean}  override If true, the obj passed in becomes  *                             the execution scope of the listener  * @member Ext  * @method onReady */Ext.onReady = Ext.EventManager.onDocumentReady;// Initialize doc classes(function(){    var initExtCss = function(){        // find the body element        var bd = document.body || document.getElementsByTagName('body')[0];        if(!bd){ return false; }        var cls = [' ',                Ext.isIE ? "ext-ie " + (Ext.isIE6 ? 'ext-ie6' : 'ext-ie7')                : Ext.isGecko ? "ext-gecko " + (Ext.isGecko2 ? 'ext-gecko2' : 'ext-gecko3')                : Ext.isOpera ? "ext-opera"                : Ext.isSafari ? "ext-safari" : ""];        if(Ext.isMac){            cls.push("ext-mac");        }        if(Ext.isLinux){            cls.push("ext-linux");        }        if(Ext.isBorderBox){            cls.push('ext-border-box');        }        if(Ext.isStrict){ // add to the parent to allow for selectors like ".ext-strict .ext-ie"            var p = bd.parentNode;            if(p){                p.className += ' ext-strict';            }        }        bd.className += cls.join(' ');        return true;    }    if(!initExtCss()){        Ext.onReady(initExtCss);    }})();/** * @class Ext.EventObject * EventObject exposes the Yahoo! UI Event functionality directly on the object * passed to your event handler. It exists mostly for convenience. It also fixes the annoying null checks automatically to cleanup your code * Example: * <pre><code> function handleClick(e){ // e is not a standard event object, it is a Ext.EventObject    e.preventDefault();    var target = e.getTarget();    ... } var myDiv = Ext.get("myDiv"); myDiv.on("click", handleClick); //or Ext.EventManager.on("myDiv", 'click', handleClick); Ext.EventManager.addListener("myDiv", 'click', handleClick); </code></pre> * @singleton */Ext.EventObject = function(){    var E = Ext.lib.Event;    // safari keypress events for special keys return bad keycodes    var safariKeys = {        3 : 13, // enter        63234 : 37, // left        63235 : 39, // right        63232 : 38, // up        63233 : 40, // down        63276 : 33, // page up        63277 : 34, // page down        63272 : 46, // delete        63273 : 36, // home        63275 : 35  // end    };    // normalize button clicks    var btnMap = Ext.isIE ? {1:0,4:1,2:2} :                (Ext.isSafari ? {1:0,2:1,3:2} : {0:0,1:1,2:2});    Ext.EventObjectImpl = function(e){        if(e){            this.setEvent(e.browserEvent || e);        }    };    Ext.EventObjectImpl.prototype = {        /** The normal browser event */        browserEvent : null,        /** The button pressed in a mouse event */        button : -1,        /** True if the shift key was down during the event */        shiftKey : false,        /** True if the control key was down during the event */        ctrlKey : false,        /** True if the alt key was down during the event */        altKey : false,        /** Key constant @type Number */        BACKSPACE: 8,        /** Key constant @type Number */        TAB: 9,        /** Key constant @type Number */        NUM_CENTER: 12,        /** Key constant @type Number */        ENTER: 13,        /** Key constant @type Number */        RETURN: 13,        /** Key constant @type Number */        SHIFT: 16,        /** Key constant @type Number */        CTRL: 17,        CONTROL : 17, // legacy        /** Key constant @type Number */        ALT: 18,        /** Key constant @type Number */        PAUSE: 19,        /** Key constant @type Number */        CAPS_LOCK: 20,        /** Key constant @type Number */        ESC: 27,        /** Key constant @type Number */        SPACE: 32,        /** Key constant @type Number */        PAGE_UP: 33,        PAGEUP : 33, // legacy        /** Key constant @type Number */        PAGE_DOWN: 34,        PAGEDOWN : 34, // legacy        /** Key constant @type Number */        END: 35,        /** Key constant @type Number */        HOME: 36,        /** Key constant @type Number */        LEFT: 37,        /** Key constant @type Number */        UP: 38,        /** Key constant @type Number */        RIGHT: 39,        /** Key constant @type Number */        DOWN: 40,        /** Key constant @type Number */        PRINT_SCREEN: 44,        /** Key constant @type Number */        INSERT: 45,        /** Key constant @type Number */        DELETE: 46,        /** Key constant @type Number */        ZERO: 48,        /** Key constant @type Number */        ONE: 49,        /** Key constant @type Number */        TWO: 50,        /** Key constant @type Number */        THREE: 51,        /** Key constant @type Number */        FOUR: 52,        /** Key constant @type Number */        FIVE: 53,        /** Key constant @type Number */        SIX: 54,        /** Key constant @type Number */        SEVEN: 55,        /** Key constant @type Number */        EIGHT: 56,        /** Key constant @type Number */        NINE: 57,        /** Key constant @type Number */        A: 65,        /** Key constant @type Number */        B: 66,        /** Key constant @type Number */        C: 67,        /** Key constant @type Number */        D: 68,        /** Key constant @type Number */        E: 69,        /** Key constant @type Number */        F: 70,        /** Key constant @type Number */        G: 71,        /** Key constant @type Number */        H: 72,

⌨️ 快捷键说明

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