Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Обработчик события: как делает jquery? (https://javascript.ru/forum/jquery/3406-obrabotchik-sobytiya-kak-delaet-jquery.html)

Shasoft 16.04.2009 10:34

Обработчик события: как делает jquery?
 
Может кто знает внутренности работы jquery.
Если вешается обработчик события, к примеру click, на все элементы по каком-то условию. То как это реализаует jquery. Вешает обработчик на каждый найденный по условию элемент.
Или вешает глобальный обработчик click, в котором ловит всё и уже потом вызывает нужные обработчики?

idler 16.04.2009 11:05

Для каждого элемента навешивается обработчик события.
// Bind the global event handler to the element
					if (elem.addEventListener)
						elem.addEventListener(type, handle, false);
					else if (elem.attachEvent)
						elem.attachEvent("on" + type, handle);
				}

Только я не понимаю зачем вам это знать? разница будет лишь в скорости работы помоему..

Shasoft 16.04.2009 12:37

Именно скорость меня и интересует.
Собираюсь на одной странице сделать Google map и Yandex Map + каталог на jquery.
Поэтому важно делать так, чтобы тормозило меньше.

Kolyaj 16.04.2009 13:32

Цитата:

Сообщение от Shasoft
Google map и Yandex Map + каталог на jquery

Ого :) А зачем два мапа?

Shasoft 16.04.2009 14:09

В google map мой город более детально показан. Но а yandex map - типа "поддержи своего производителя". Так что можно будет выбирать, на какой карте смотреть и при желании смотреть сразу на обоих.

Да и задача интересная - скрестить два api

Kolyaj 16.04.2009 14:12

Любимая привычка программистов сваливать выбор чего-либо на пользователя. Он только путаться от ваших карт будет.

Яндекс, кстати, сегодня выкатил из беты вторую версию карт. Там тоже ваш город плохо показан?

Shasoft 16.04.2009 15:27

Если сделать всё "по-умному", то пользователь путаться не будет.

Зато сайт не будет зависеть от одного API, что хорошо.
Да и я буду знаком с обоими API, что тоже неплохо.
К тому же можно будет выбирать наиболее актуальную на текущий момент карту.

Для моего города масштаб не изменился.

idler 16.04.2009 17:59

Ну две карты имхо плохо. Почему не пять? :)

По теме:
Неужели вы смели подумать, что разработчики jQuery не заботятся о производительности?
Это же OpenSource! Кто-то обязательно заметил бы ляпы, и попросил бы их исправить, или включился в комманду и исправил сам.

Shasoft 16.04.2009 19:40

Как только освою ещё какой-нибудь API, так сразу подключу.

Всякое может быть, может о производительности никто и подумал.

Kolyaj 17.04.2009 15:52

Цитата:

Сообщение от idler
Неужели вы смели подумать, что разработчики jQuery не заботятся о производительности?
Это же OpenSource! Кто-то обязательно заметил бы ляпы, и попросил бы их исправить, или включился в комманду и исправил сам.

Вы реально думаете, что там нет косяков?


Часовой пояс GMT +3, время: 20:11.