Вызов события JS

D
На сайте с 28.06.2008
Offline
1104
245

Обработать клик в JS можно тремя (может и больше, я пока выучил три) способами.

1.  button.addEventListener('click', func);

2.  button .onclick = function () {}

3.  <button onclick="myFunction()">

Не могу найти - есть ли нюансы при использовании этих способов, равнозначны ли они?

Мне больше всего нравится использовать вариант №2, оне мне кажется наиболее лаконичным.

ArbNet
На сайте с 27.10.2019
Offline
132
#1
  1. С помощью button.addEventListener к элементу можно добавлять несколько обработчиков события. Кроме того у него есть опции запуск события один раз, запуск при погружении и всплытии.
  2. button .onclick= Так можно устанавливать только стандартные события и единоразово, без опций. Пережиток прошлого, раньше только так через JS устанавливали события пока не появился addEventListener
  3. <button onclick="myFunction()">  Установка стандартного события прямо в разметке. Иногда полезно когда из шаблона вставляется кусок разметки в документ.
  4. Есть также пользовательские события. Можно придумать событие, назначить ему обработчика и вызвать это событие когда нужно. https://learn.javascript.ru/dispatch-events
  5. Ещё есть назначение событий при наблюдении за элементом. Когда в элементе что-то меняется то срабатывает событие наблюдателя. https://learn.javascript.ru/mutation-observer

Хватит уже тупить.. я вам каждый раз даю ссылку на учебник, но вы его не читаете.

D
На сайте с 28.06.2008
Offline
1104
#2
ArbNet спасибо, я уже прошел половину того учебника, я естественно о нем знаю и обучение начал сразу с него. Просто иногда некоторые моменты полезнее спросить у людей.
ArbNet
На сайте с 27.10.2019
Offline
132
#3
Dram #:
Просто иногда некоторые моменты полезнее спросить у людей.

Не полезнее. Люди могут не знать, ошибаться, заблуждаться, направить по ложному пути и тд. Есть учебник, в нём всё расписывается. Бывают учебники плохие(с плохими примерами и описанием) и хорошие(где объясняется доступно и понятно, learn.javascript.ru - хороший учебник). Вы его не изучали, иначе не задавали бы глупых вопросов.

А у людей полезнее узнавать просто их мнение, на фоне общей картины уже делать выводы.

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