Следственный эксперимент> А какую лишнюю работу я делаю?
Определяешь Элемент, Ответственный За Обработку События
> Определил объект и в зависимости от результата произвел действия. Куда еще минимизировать усилия ?)))
Не Определять Объект. Не Определять Его Каждый Раз Во Время Обработки События, А Просто Назначить Вызов Обработчика На Этот Объект.
> Три соображения в защиту подобного подхода - > Во-первых, сокращается код. Вообразим 100 однотипных элементов, ID=a_01..a_99. > Зачем сто раз повторять одно и то же, если можно, обработав событие и поняв, что его вызвал элемент a_n, сотворить с ним то, что нужно.
Вот Это "Поняв, Что Его Вызвал Элемент" - Как? Мышиное Событие Может Быть Вызвано _Любым_ Видимым Ребенком Нужного Элемента. Хорошо, Если Там Только textNode, А Если Там Целая Структура? Я Приводил Пример С Вложенными В <TD> Формой И Fieldset'ом. В Этом Случае - Единственный Способ Определить, В Зоне Действия Какого Элемента Произошло Событие - Это Подъем Вверх По Дерерву От Источника События До Тех Пор, Пока Не Встретится Нужный.
> Ведь неоправдано растет не только размер кода, но и размер модели документа в броузере.
Размер Кода Не Растет. Написать В Body.OnLoad Один Цикл, Который Поставит Нужным Элементам Нужну Функцию - Это Копейки. А Насчет Размера Модели... Давай, Не Будем Спорить На Основании Того, Что Кажется? :-).
> Во-вторых, при этом разделяются сущности - есть с одной стороны документ, в котором нет ничего лишнего, чистая иерархия объектов, а с другой в одном месте собрано его поведение.
А Я Где-То Говорил Об Обратном? Да, Я Написал Где-То Выше <TD OnClick="...">, Но Это Был Пример, И Он Был О Другом. Да, Все Правильно: Структура Документа Должна Быть Отделена И От Динамики, И От Презентации (CSS). Однако, Это Не Повод Писать Динамику Криво.
> В идеале в документе не должно вообще после <body> быть никаких элементов скриптов.
Тут Маленькая Справка Синтаксическая. Дело В Том, Что Элемент <Script> Не Может Находиться Нигде, Кроме Как В <Body> :-). Это Стандарт (И Да, Я Знаю, Что ВСЕ Браузеры Все Таки Понимают Его В <Head>). Но Это Не Мешает Структуре Документа. <Script> Не Обладает Собственной HTML'ной Семантикой. Чистый HTML-Парсер Вообще Может Эти Элементы Игнорировать.
> ЗЫ В принципе вышесказанное "против" в большей степени относится к методу задания обработчиков в тэгах,
Вот Именно... Я К Этому И Не Призываю. |