Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
1 / 1 / 0
Регистрация: 02.05.2018
Сообщений: 11

Что лучше делегирование или onclik на каждый элемент? - в плане производительственности

01.02.2019, 18:13. Показов 1793. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно кто в курсе?

Например в случае когда требуется защита от считывания спам-ботами адреса email на сайте.
Лучше на body кинуть одно событие или на каждый тег <a> поставить onclik? Тегов <a> с email может быть допустим от 0 до 5 на сайт.

И второй пример тут уже вместо body <ul>. Где элементов с onclik может быть от 1 до 100?

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<ul>
  <li>
    <div onclik="" >
      <span> </span> 
      <span> </span>
    </div>
    <div></div>
    <div></div>
    <div></div>
  </li>
  <li>
    <div onclik="" >
      <span> </span> 
      <span> </span>
    </div>
    <div></div>
    <div></div>
    <div></div>
  </li>
  <li>
    <div onclik="" >
      <span> </span> 
      <span> </span>
    </div>
    <div></div>
    <div></div>
    <div></div>
  </li>
……
</ul>
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.02.2019, 18:13
Ответы с готовыми решениями:

Что лучше FM1 или s1155 в плане апгрейда на будущее?
Добрый день.Есть ли смысл покупать материнку с проц FM1 если есть сведения что к концу лета 2012г выйдет FM2 и его &quot;похоронит&quot;.С...

Подскажите как лучше поступить(делегирование,дефайн.)
Господа... у меня есть property 'user'... который хранится в AppDelegate Я могу к нему достучаться через такую вот конструкцию ...

Что предпочтительней в плане быстродействия и работы с памятью: List<List<string>> - new или .Clear()
что предпочтительней в плане быстродействия и работы с памятью создать в цикле new List&lt;List&lt;string&gt;&gt;() и использовать его,...

5
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
01.02.2019, 18:29
Цитата Сообщение от hapr-lera Посмотреть сообщение
Что лучше делегирование или onclik на каждый элемент?
лучше addEventListener(), и смотря когда и где.... Но если тонкости не превалируют --- у событий есть очередь, каждое событие при этом это функциональный объект, тоже ресурсы нужны. Дальше уже можно не перечислять. Что лучше один обработчик в очереди и одна сущность в стеке, или сотня таких?
2
1 / 1 / 0
Регистрация: 02.05.2018
Сообщений: 11
01.02.2019, 18:43  [ТС]
Цитата Сообщение от Qwerty_Wasd Посмотреть сообщение
лучше addEventListener(), и смотря когда и где.... Но если тонкости не превалируют --- у событий есть очередь, каждое событие при этом это функциональный объект, тоже ресурсы нужны. Дальше уже можно не перечислять. Что лучше один обработчик в очереди и одна сущность в стеке, или сотня таких?
Если так то со вторым примером вопросов больше нет.
А что насчет: если вешать на body событие и отлавливать пару <a> во всем документе? В этом случае по идеи ведь лучше на каждый через onclik, чем каждый клик в браузере отлавливать? Или все же лучше иметь один обработчик всех одиночных кликов - не сгрупированых?

Я этим вопросом заинтересовался в связи с тем, что когда смотрел сайты то у всех новых вообще по моему все события идут через делегирования и тем самым через общий обработчик. И стало интересно это изо фреймворков или так будет действительно более правильным...
0
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
01.02.2019, 18:54
Лучший ответ Сообщение было отмечено hapr-lera как решение

Решение

hapr-lera, когда у Вас страничка для поиграться, пример кому-то составить, быстро себе алгоритм отработать\потестить - тогда можно не заморачиваться в принципе этим вопросом. Но не тогда, когда за код Вам платят.
И заметьте, я написал -
Цитата Сообщение от Qwerty_Wasd Посмотреть сообщение
смотря когда и где
Бывает, ну так реализован уже обработчик, что не воткнуть лишний функционал. Можно, но геморно. Зато нужные элементы уже собраны в массив, ну раз собраны, значит и обход где-то есть? Вот и лазейка, ну и пихните туда arr[i].addEventListener('событие', колбек). Конечно если длина массива позволяет такой финт ушами. Вы же не станете назначать и вправду целой сотне по обработчику? Лучше уж заморочнуться и поймать на всплытие, даже если геморно.
2
1 / 1 / 0
Регистрация: 02.05.2018
Сообщений: 11
01.02.2019, 20:01  [ТС]
Цитата Сообщение от Qwerty_Wasd Посмотреть сообщение
когда у Вас страничка для поиграться, пример кому-то составить, быстро себе алгоритм отработать\потестить - тогда можно не заморачиваться в принципе этим вопросом. Но не тогда, когда за код Вам платят.
Спасибо за объяснения.
0
02.02.2019, 03:43

Не по теме:

hapr-lera, не за что, чистого кода :)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.02.2019, 03:43
Помогаю со студенческими работами здесь

Какой антивирус в плане безопасности лучше?
Что лучше Доктор вэб или Аваст ?

Какой дистрибутив лучше в плане безопасности?
Посоветуйте, какой дистрибутив, на ваш взгляд, будет лучшим среди прочих в плане информационной безопасности, т.е. представляет наиболее...

Где лучше хранить данные, в сессии, или каждый раз вытаскивать из базы по id?
Дело в том, что я делаю магазин и у меня возник вопрос, где все-таки лучше хранить данные для корзины, в массиве, записанном в сессию или в...

Что лучше брать? sony xba c10 или ex450 или xiaomi mi hybrid
что лучше брать? sony xba c10 или ex450 или xiaomi mi hybrid понимаю что вопрос смешно звучит, именно такое сравнение, но нужен совет ...

access 2007 или vb.net или c# что лучше
access или vb.net или c# что лучше? достоинства и недостатки ? на чём лучше программировать? и Что выгоднее изучать?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru