Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.11.2012, 05:06
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

События. как грамотно назначить
Просматривал скрипты, но так подходящего варианта для себя не нашел.
Вот есть код, читабелен и по полочкам в нем все разложено, но как дело доходит до событий - получается слишком топорно и не изящно и выбивается из общей картины..

Например скрипт

(function(window) {
	var a = {},
		b = function () {
			// что-то там	
		},
		c = function () {
			// еще что-то там
		},
		e = function (target, type, handler) {
			if (target.addEventListener) {
				target.addEventListener(type, handler, false);
			} else {
				target.attachEvent("on" + type, function (event) {
					return handler.call(target, event);
				});
			}
		};

// ну и так далее..  Принцип монолитность и изящность. Все видно и понятно
// Бардак (ИМХО) начинается тут:

	addEvent(document, "mousedown", a);
	addEvent(document, "mousemove", b);
	addEvent(document, "mouseup", g);
	addEvent(document, "mouseup", j);
	addEvent(xxx, "click", f);
	addEvent(eee, "mousedown", v);
	addEvent(ddd, "mouseup", t);
	

	document.onmousedown = function () {
		return false;
	};


// Я до сих пор не научился оформлять события. Неужели это единственный способ задать событие в конкретном примере? Ведь событий может быть очень много, может проще их объединить в одно? Или как лучше?

}(this))



Дайте какой-нибудь скрипт поизучать или посоветуйте где поискать, что посмотреть, где почитать?

Последний раз редактировалось dmitry111, 19.11.2012 в 05:15.
Ответить с цитированием
  #2 (permalink)  
Старый 19.11.2012, 06:25
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

лучше всего делать в духа типа :
addEvent(document, {
    "mousedown": a,
    mouseup: b
    // ...
});
Ответить с цитированием
  #3 (permalink)  
Старый 19.11.2012, 15:00
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

melky,
хорошая идея, попробую реализовать! Спасибо!
Ответить с цитированием
  #4 (permalink)  
Старый 19.11.2012, 21:20
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

dmitry111,
посмотри как это реализуют в jQuery и пр.

Ну и как вариант отличный от того же jQuery:

var module = [
	{
		type:     'search',
		selector: '#search',
		events: [
			{
				on: 'click',
				handler: function() {
				
				}
			}
		],
	}
	//..,
];


Или так:
var module = [
	{
		type:     'search',
		selector: '#search',
		on: [
			click: function() {
			
			}
		],
	}
	//..,
];
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отловить обратное событие "click" ? jsuse Общие вопросы Javascript 2 18.01.2012 00:16
Как удалить все обработчики события элемента FINoM Общие вопросы Javascript 10 28.12.2011 13:56
Как в IE динамически установить значение события onClick? Гость Элементы интерфейса 6 16.01.2011 23:46
Как наделить события хорошей реакцией? Dotod Общие вопросы Javascript 4 02.02.2010 20:48
Drug&Drop + всплывание события = проблемы =(( _NoName_ Events/DOM/Window 4 05.03.2009 17:47