Показать сообщение отдельно
  #3 (permalink)  
Старый 23.01.2014, 23:27
Интересующийся
Отправить личное сообщение для finestra Посмотреть профиль Найти все сообщения от finestra
 
Регистрация: 28.02.2013
Сообщений: 13

спб за отклик. дело в том, что функция будет расширяться и в этом коде я запутаюьс.
у меня есть свой пример, и я хотел узнать есть ли решение лучше этого -
var keyup = (function(){
	var TmpMethod = function(fnTrue, fnFalse) {
		this.fnTrue = fnTrue || function(){};
		this.fnFalse = fnFalse || function(){};
	};

	TmpMethod.prototype.invoke = function(val){
		if(val) {
			this.fnTrue();
		} else {
			this.fnFalse();
		}
	};

        var strategy = {};
	
	strategy['13'] = new TmpMethod(function(){ alert('true') }, 
							function() { alert('false') });
	strategy['default'] = new TmpMethod();
	
	return function(e) {
		var key = (e.keyCode in strategy) ? e.keyCode : 'default';
		strategy[key].invoke(e.target.value.length);
	};
	
}());

Последний раз редактировалось finestra, 24.01.2014 в 01:45.
Ответить с цитированием