自己动手实现jQuery Callbacks完整功能代码详解

2020-05-18 08:43:17易采站长站整理

用法和$.Callbacks完全一致 , 但是只是实现了add , remove , fire , empty, has和带参数的构造函数功能,  $.Callbacks 还有disable,disabled, fireWith , fired , lock, locked 方法


 代码如下:


 
 String.prototype.trim = function ()
        {
            return this.replace( /^s+|s+$/g, ” );
        };


        // Simulate jQuery.Callbacks object
        function MyCallbacks( options )
        {
            var ops = { once: false, memory: false, unique: false, stopOnFalse: false };


            if ( typeof options === ‘string’ && options.trim() !== ” )
            {
                var opsArray = options.split( /s+/ );
                for ( var i = 0; i < options.length; i++ )
                {
                    if ( opsArray[i] === ‘once’ )
                        ops.once = true;
                    else if ( opsArray[i] === ‘memory’ )
                        ops.memory = true;
                    else if ( opsArray[i] === ‘unique’ )
                        ops.unique = true;
                    else if ( opsArray[i] === ‘stopOnFalse’ )
                        ops.stopOnFalse = true;
                }
            }


            var ar = [];