Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   jQuery bind/on click или JavaScript onClick - что и в каких случаях лучше юзать (https://javascript.ru/forum/events/29595-jquery-bind-click-ili-javascript-onclick-chto-i-v-kakikh-sluchayakh-luchshe-yuzat.html)

IVAN86 04.07.2012 14:08

jQuery bind/on click или JavaScript onClick - что и в каких случаях лучше юзать
 
Добрый день всем!
Интересуют мнения по такому интересному вопросу:
Что же лучше/производительнее/удобнее и в каких ситуациях -
метод jQuery .on('click'...) или событие тега onClick="..."

ksa 04.07.2012 14:11

Цитата:

Сообщение от IVAN86
Что же лучше/производительнее/удобнее

В конечном счете все это одно и то же...

Deff 04.07.2012 14:43

IVAN86,
По скорости лучше onclick="Func()" прямо в теге

Но ежели скрипт пользовательский(от клиента) то в тег уже onclick="Func();" вряд ли установишь и так же проблемы при их оч большом кол-ве - разрастаецо объем передаваемой страницы. тады вышеуказанное ksa

IVAN86 04.07.2012 16:19

На самом деле далеко не одно и то же.
Если решать задачу "кликабельной таблицы" (~300 строк),
где при клике по строчке должна срабатывать функция,
то будет большая разница.

В одном случае много кода, в другом много событий за которыми следит метод .on
Кроме того, если таблица подгружается динамически.... тут начинается самое интересное...

Deff 04.07.2012 16:43

Цитата:

Сообщение от IVAN86
Кроме того, если таблица подгружается динамически.... тут начинается самое интересное...

Если таблица подгружается динамически, то либо live, либо on

bes 04.07.2012 18:59

Цитата:

Сообщение от IVAN86
Если решать задачу "кликабельной таблицы" (~300 строк),
где при клике по строчке должна срабатывать функция,
то будет большая разница.

Такие задачи решаются установкой одного обработчика на родительский контейнер (в данном случае таблицу), цель (target || srcElement) определяется при наступлении события (одного onclick достаточно).
Я думаю, принцип такой - где можно обойтись без jq, нужно обойтись без jq.

cyber 04.07.2012 19:18

самый лучший вариант добавление обработчика это
addEventListener

cyber 04.07.2012 19:46

кстати проводил свое исследование по этой теме , какой самый быстрый способ добавить обработчик (может для профи примитивно , для новичков пойдет)
http://www.html.by/threads/25995-ben...mentam-v-cikle

ksa 05.07.2012 08:40

Цитата:

Сообщение от IVAN86
тут начинается самое интересное...

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

IVAN86 05.07.2012 09:49

Цитата:

Сообщение от Deff
Если таблица подгружается динамически, то либо live, либо on

К слову, live - давно устаревший метод, его замена on.


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