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

📄 ext.js

📁 Ext JS是一个创建丰富互联网应用程序的跨浏览器的JavaScrip库。它包含:高效率
💻 JS
📖 第 1 页 / 共 2 页
字号:
            var d;            return function(n){                if(n && n.tagName != 'BODY'){                    d = d || document.createElement('div');                    d.appendChild(n);                    d.innerHTML = '';                }            }        }() : function(n){            if(n && n.parentNode && n.tagName != 'BODY'){                n.parentNode.removeChild(n);            }        },        /**         * <p>Returns true if the passed value is empty.</p>         * <p>The value is deemed to be empty if it is<div class="mdetail-params"><ul>         * <li>null</li>         * <li>undefined</li>         * <li>an empty array</li>         * <li>a zero length string (Unless the <tt>allowBlank</tt> parameter is <tt>true</tt>)</li>         * </ul></div>         * @param {Mixed} value The value to test         * @param {Boolean} allowBlank (optional) true to allow empty strings (defaults to false)         * @return {Boolean}         */        isEmpty : function(v, allowBlank){            return v === null || v === undefined || ((Ext.isArray(v) && !v.length)) || (!allowBlank ? v === '' : false);        },        /**         * Returns true if the passed object is a JavaScript array, otherwise false.         * @param {Object} object The object to test         * @return {Boolean}         */        isArray : function(v){            return Object.prototype.toString.apply(v) === '[object Array]';        },        /**         * Returns true if the passed object is a JavaScript Object, otherwise false.         * @param {Object} object The object to test         * @return {Boolean}         */        isObject : function(v){            return v && typeof v == "object";        },                /**         * Returns true if the passed object is a JavaScript 'primitive', a string, number or boolean.         * @param {Mixed} value The value to test         * @return {Boolean}         */        isPrimitive : function(v){            var t = typeof v;            return t == 'string' || t == 'number' || t == 'boolean';        },        /**         * Returns true if the passed object is a JavaScript Function, otherwise false.         * @param {Object} object The object to test         * @return {Boolean}         */        isFunction : function(v){            return typeof v == "function";        },        /**         * True if the detected browser is Opera.         * @type Boolean         */        isOpera : isOpera,        /**         * True if the detected browser uses Webkit.         * @type Boolean         */        isWebKit: isWebKit,        /**         * True if the detected browser is Chrome.         * @type Boolean         */        isChrome : isChrome,        /**         * True if the detected browser is Safari.         * @type Boolean         */        isSafari : isSafari,        /**         * True if the detected browser is Safari 3.x.         * @type Boolean         */        isSafari3 : isSafari3,        /**         * True if the detected browser is Safari 4.x.         * @type Boolean         */        isSafari4 : isSafari4,        /**         * True if the detected browser is Safari 2.x.         * @type Boolean         */        isSafari2 : isSafari && !isSafari3,        /**         * True if the detected browser is Internet Explorer.         * @type Boolean         */        isIE : isIE,        /**         * True if the detected browser is Internet Explorer 6.x.         * @type Boolean         */        isIE6 : isIE && !isIE7 && !isIE8,        /**         * True if the detected browser is Internet Explorer 7.x.         * @type Boolean         */        isIE7 : isIE7,        /**         * True if the detected browser is Internet Explorer 8.x.         * @type Boolean         */        isIE8 : isIE8,        /**         * True if the detected browser uses the Gecko layout engine (e.g. Mozilla, Firefox).         * @type Boolean         */        isGecko : isGecko,        /**         * True if the detected browser uses a pre-Gecko 1.9 layout engine (e.g. Firefox 2.x).         * @type Boolean         */        isGecko2 : isGecko && !isGecko3,        /**         * True if the detected browser uses a Gecko 1.9+ layout engine (e.g. Firefox 3.x).         * @type Boolean         */        isGecko3 : isGecko3,        /**         * True if the detected browser is Internet Explorer running in non-strict mode.         * @type Boolean         */        isBorderBox : isBorderBox,        /**         * True if the detected platform is Linux.         * @type Boolean         */        isLinux : isLinux,        /**         * True if the detected platform is Windows.         * @type Boolean         */        isWindows : isWindows,        /**         * True if the detected platform is Mac OS.         * @type Boolean         */        isMac : isMac,        /**         * True if the detected platform is Adobe Air.         * @type Boolean         */        isAir : isAir    });    /**     * Creates namespaces to be used for scoping variables and classes so that they are not global.     * Specifying the last node of a namespace implicitly creates all other nodes. Usage:     * <pre><code>Ext.namespace('Company', 'Company.data');Ext.namespace('Company.data'); // equivalent and preferable to above syntaxCompany.Widget = function() { ... }Company.data.CustomStore = function(config) { ... }</code></pre>     * @param {String} namespace1     * @param {String} namespace2     * @param {String} etc     * @method namespace     */    Ext.ns = Ext.namespace;})();Ext.ns("Ext", "Ext.util", "Ext.lib", "Ext.data");/** * @class Function * These functions are available on every Function object (any JavaScript function). */Ext.apply(Function.prototype, {     /**     * Creates an interceptor function. The passed fcn is called before the original one. If it returns false,     * the original one is not called. The resulting function returns the results of the original function.     * The passed fcn is called with the parameters of the original function. Example usage:     * <pre><code>var sayHi = function(name){    alert('Hi, ' + name);}sayHi('Fred'); // alerts "Hi, Fred"// create a new function that validates input without// directly modifying the original function:var sayHiToFriend = sayHi.createInterceptor(function(name){    return name == 'Brian';});sayHiToFriend('Fred');  // no alertsayHiToFriend('Brian'); // alerts "Hi, Brian"</code></pre>     * @param {Function} fcn The function to call before the original     * @param {Object} scope (optional) The scope of the passed fcn (Defaults to scope of original function or window)     * @return {Function} The new function     */    createInterceptor : function(fcn, scope){        var method = this;        return !Ext.isFunction(fcn) ?                this :                function() {                    var me = this,                        args = arguments;                    fcn.target = me;                    fcn.method = method;                    return (fcn.apply(scope || me || window, args) !== false) ?                            method.apply(me || window, args) :                            null;                };    },     /**     * Creates a callback that passes arguments[0], arguments[1], arguments[2], ...     * Call directly on any function. Example: <code>myFunction.createCallback(arg1, arg2)</code>     * Will create a function that is bound to those 2 args. <b>If a specific scope is required in the     * callback, use {@link #createDelegate} instead.</b> The function returned by createCallback always     * executes in the window scope.     * <p>This method is required when you want to pass arguments to a callback function.  If no arguments     * are needed, you can simply pass a reference to the function as a callback (e.g., callback: myFn).     * However, if you tried to pass a function with arguments (e.g., callback: myFn(arg1, arg2)) the function     * would simply execute immediately when the code is parsed. Example usage:     * <pre><code>var sayHi = function(name){    alert('Hi, ' + name);}// clicking the button alerts "Hi, Fred"new Ext.Button({    text: 'Say Hi',    renderTo: Ext.getBody(),    handler: sayHi.createCallback('Fred')});</code></pre>     * @return {Function} The new function    */    createCallback : function(/*args...*/){        // make args available, in function below        var args = arguments,            method = this;        return function() {            return method.apply(window, args);        };    },    /**     * Creates a delegate (callback) that sets the scope to obj.     * Call directly on any function. Example: <code>this.myFunction.createDelegate(this, [arg1, arg2])</code>     * Will create a function that is automatically scoped to obj so that the <tt>this</tt> variable inside the     * callback points to obj. Example usage:     * <pre><code>var sayHi = function(name){    // Note this use of "this.text" here.  This function expects to    // execute within a scope that contains a text property.  In this    // example, the "this" variable is pointing to the btn object that    // was passed in createDelegate below.    alert('Hi, ' + name + '. You clicked the "' + this.text + '" button.');}var btn = new Ext.Button({    text: 'Say Hi',    renderTo: Ext.getBody()});// This callback will execute in the scope of the// button instance. Clicking the button alerts// "Hi, Fred. You clicked the "Say Hi" button."btn.on('click', sayHi.createDelegate(btn, ['Fred']));</code></pre>     * @param {Object} obj (optional) The object for which the scope is set     * @param {Array} args (optional) Overrides arguments for the call. (Defaults to the arguments passed by the caller)     * @param {Boolean/Number} appendArgs (optional) if True args are appended to call args instead of overriding,     *                                             if a number the args are inserted at the specified position     * @return {Function} The new function     */    createDelegate : function(obj, args, appendArgs){        var method = this;        return function() {            var callArgs = args || arguments;            if (appendArgs === true){                callArgs = Array.prototype.slice.call(arguments, 0);                callArgs = callArgs.concat(args);            }else if (typeof appendArgs == "number"){                callArgs = Array.prototype.slice.call(arguments, 0); // copy arguments first                var applyArgs = [appendArgs, 0].concat(args); // create method call params                Array.prototype.splice.apply(callArgs, applyArgs); // splice them in            }            return method.apply(obj || window, callArgs);        };    },    /**     * Calls this function after the number of millseconds specified, optionally in a specific scope. Example usage:     * <pre><code>var sayHi = function(name){    alert('Hi, ' + name);}// executes immediately:sayHi('Fred');// executes after 2 seconds:sayHi.defer(2000, this, ['Fred']);// this syntax is sometimes useful for deferring// execution of an anonymous function:(function(){    alert('Anonymous');}).defer(100);</code></pre>     * @param {Number} millis The number of milliseconds for the setTimeout call (if less than or equal to 0 the function is executed immediately)     * @param {Object} obj (optional) The object for which the scope is set     * @param {Array} args (optional) Overrides arguments for the call. (Defaults to the arguments passed by the caller)     * @param {Boolean/Number} appendArgs (optional) if True args are appended to call args instead of overriding,     *                                             if a number the args are inserted at the specified position     * @return {Number} The timeout id that can be used with clearTimeout     */    defer : function(millis, obj, args, appendArgs){        var fn = this.createDelegate(obj, args, appendArgs);        if(millis > 0){            return setTimeout(fn, millis);        }        fn();        return 0;    }});/** * @class String * These functions are available on every String object. */Ext.applyIf(String, {    /**     * Allows you to define a tokenized string and pass an arbitrary number of arguments to replace the tokens.  Each     * token must be unique, and must increment in the format {0}, {1}, etc.  Example usage:     * <pre><code>var cls = 'my-class', text = 'Some text';var s = String.format('&lt;div class="{0}">{1}&lt;/div>', cls, text);// s now contains the string: '&lt;div class="my-class">Some text&lt;/div>'     * </code></pre>     * @param {String} string The tokenized string to be formatted     * @param {String} value1 The value to replace token {0}     * @param {String} value2 Etc...     * @return {String} The formatted string     * @static     */    format : function(format){        var args = Ext.toArray(arguments, 1);        return format.replace(/\{(\d+)\}/g, function(m, i){            return args[i];        });    }});/** * @class Array */Ext.applyIf(Array.prototype, {    /**     * Checks whether or not the specified object exists in the array.     * @param {Object} o The object to check for     * @return {Number} The index of o in the array (or -1 if it is not found)     */    indexOf : function(o){       for (var i = 0, len = this.length; i < len; i++){           if(this[i] == o) return i;       }       return -1;    },    /**     * Removes the specified object from the array.  If the object is not found nothing happens.     * @param {Object} o The object to remove     * @return {Array} this array     */    remove : function(o){       var index = this.indexOf(o);       if(index != -1){           this.splice(index, 1);       }       return this;    }});

⌨️ 快捷键说明

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