Показать сообщение отдельно
  #6 (permalink)  
Старый 24.12.2013, 01:02
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

cyklop_77, открою тебе страшную тайну: если используешь жуквери, портянку вида
//- observer
var observerable = {
	listeners: {},
	
	addListener: function (object, evt, callback) {       
		if (!this.listeners.hasOwnProperty(evt)) {           
			this.listeners[evt] = [];    
		}        
		
		this.listeners[evt].push(object[callback]);       
	},
	
	removeListener: function (object, evt, callback) {       
		if (this.listeners.hasOwnProperty(evt)) {      
			var i, length;     
			        
			for (i = 0, length = this.listeners[evt].length; i < length; i += 1) {               
				if (this.listeners[evt][i] === object[callback]) {                   
					this.listeners[evt].splice(i, 1);        
				}      
			}    
		}  
	},
	    
	publisher: function (evt, args) {       
		if (this.listeners.hasOwnProperty(evt)){                       
			var i, length;       
			                          
			for (i = 0, length = this.listeners[evt].length; i < length; i += 1){                
				this.listeners[evt][i](args);      
			}            
		}                            
	}
};

можно заменить на что-то такое:
/**
 * jQuery Simple App
 * @author: nerv
 * @version: 0.1.1, 2012-10-26
 */

(function( $, window ) {
    'use strict';

    if ( '$app' in window ) {
        return;
    }

    var slice = Array.prototype.slice;
    var observer = $({});

    window.$app = {
        on: function() {
            observer.on.apply( observer, arguments );
            return this;
        },
        off: function() {
            observer.off.apply( observer, arguments );
            return this;
        },
        trigger: function() {
            observer.trigger( arguments[ 0 ], slice.call( arguments, 1 ) );
            return this;
        },
        ready: function() {
            $( arguments[ 0 ] );
            return this;
        }
    };

}( jQuery, window ));

юзать так:
// dom ready
$app.ready(function() {
});

$app.on('event', function() {});
$app.trigger('event', 1, 2, 3);


вечера раскрытия тайн Только на нашем канале
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 24.12.2013 в 01:06.
Ответить с цитированием