JavaScript: группируются ли события с одинаковым результатом?

12
Linkpusher
На сайте с 28.12.2007
Offline
176
864

На странице есть строка ввода текста, увешаная проверкой событий "on" как новогодняя ёлка. все эти события вызывают одну и ту же функцию, с одним и тем же параметром, при этом вызов прописан отдельно для каждого события:

onFocus="функция(параметр);", onBlur="функция(параметр);", etc.

нагуглить ответ можно ли события вызова как-то сгруппировать не получилось :o.

*сабж не очень дико со стороны смотриться? :)

Точу ножи. Буквально. Есть отзывы. Заказать заточку в МСК и Подольске можно через Телеграмм.
alexspb
На сайте с 14.11.2005
Offline
187
#1

Дак события разные.

Что значит сгруппировать события? Вы опишите, чего хотите на выходе получить или от чего избавиться.

Linkpusher
На сайте с 28.12.2007
Offline
176
#2

имеется ввиду можно ли эту безумную строку записать как-то так:

onFocus, onBlur, etc. = "функция(параметр);"

alexspb
На сайте с 14.11.2005
Offline
187
#3

Нет, насколько я знаю (точнее ничего близко не встречал, и нелогично это - как атрибуты тэга пропарсить тогда?).

ЗЫ Да и зачем это вам надо, если речь идет об одном объекте? Вот массиву ссылок можно присваивать значения жаваскриптом - пройтись и в зависимости от свойств урла - открывать, например, в отдельном окне, если внешние).

off: топикстартера стали выделять )) удобно

BD
На сайте с 11.06.2008
Offline
35
#4

Никак. Это противоречит синтаксису html'а )

Аудит безопасности сайтов (http://ahack.ru)
Linkpusher
На сайте с 28.12.2007
Offline
176
#5
alexspb:
зачем это вам надо

у меня боязнь излишних повторений :)

alexspb:
если речь идет об одном объекте?

так в этом всё и дело, что объект один, а кода-больше чем на все остальные

alexspb:
как атрибуты тэга пропарсить тогда?

в моём понимании html отдельно, яваскрипт отдельно :o - неправ?

<...> удалил, поторопился

T.R.O.N
На сайте с 18.05.2004
Offline
314
#6
toxic steel:
в моём понимании html отдельно, яваскрипт отдельно - неправ?

нет. Правила JS, это там где начинается тег <script>

toxic steel:
у меня боязнь излишних повторений

знаете, по моему опыту, лучше иметь много эллементарных действий, чем одно, но очень запутанное и слабопредсказуемое.

Може поэтому, до сих пор, предпочитаю обходится без классов, когда возможно....

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
alexspb
На сайте с 14.11.2005
Offline
187
#7
T.R.O.N:
знаете, по моему опыту, лучше иметь много эллементарных действий, чем одно, но очень запутанное и слабопредсказуемое.
Може поэтому, до сих пор, предпочитаю обходится без классов, когда возможно....

Кодинг это всегда компромис между загрузкой процессора и памяти компа, читабельностью кода, удобством использования кода и еще наверное чем-нибудь.

Linkpusher
На сайте с 28.12.2007
Offline
176
#8
T.R.O.N:
там где начинается тег <script>

и вытащить всё это добро в него никак?

T.R.O.N:
лучше иметь много эллементарных действий, чем одно, но очень запутанное и слабопредсказуемое

данное утверждение попросту не оспоримо при всём желании :) как раз и хочется сделать более кратким, читабельней, но никоим образом не в ущерб функционалу.

много "если" просто обязаны группироваться в "если(... или ...)" :D

Ayavryk
На сайте с 11.10.2003
Offline
209
#9
toxic steel:
и вытащить всё это добро в него никак?

Можно все сделать на голом js, но уж больно это геморройно.

http://www.linkexchanger.su/2008/59.html

http://docs.jquery.com/Events

Присмотритесь внимательно к jquery (prototype etc). С ними задачи вынесения всех событий из HTML в JS решаются просто и очень наглядно. Например

Например навешивание обработчика focus на _все_ элементы элементы input

$('input').focus(function(){

alert('Wow!');

})

выбор элементов может быть более изощренным типа :

$('form[name='blabla'] input[type=text].class2').blur....

Внутри обработчика можно анализировать кто именно его вызвал. C jquery это делается очень легко.

Тынгыр, мынгыр, комсомол (http://erum.ru). Ехари, ехари, (жалобно) аяврик. /народная тунгусская песня/
T.R.O.N
На сайте с 18.05.2004
Offline
314
#10
alexspb:
Кодинг это всегда компромис между загрузкой процессора и памяти компа, читабельностью кода, удобством использования кода и еще наверное чем-нибудь.

Знаете, для меня, написание программы - это компромис между моим опытом(знаниями) и поставленной задачей. А засерать память или проц тольок потому, что мне лениво что-то дописать руками или поправить - считаю проявлением делетанства.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий