KorniloFF-ScriptS ©

Здравствуйте, Гость!
Путь страницы:   Стартовая > Javascripts > Технологии > Делегирование событий Перейти в защищенную версию
Page
Menu

Делегирование событий

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

Да, мы можем обработать событие на каждой ячейке, и всё будет работать. Но мы не пойдем этим путём. Мы будем использовать приём программирования, называемый делегированием событий, основной смысл которого заключается в перехвате события на общем родительском узле DOM. Поскольку в javascript событие является объектом и содержит в себе свойство target, мы можем определить мишень события, произошедшего на родительском элементе, то есть - его дочерний узел.

В прмере ниже родительский элемент имеет идентификатор id="calendar".

Попробуйте кликнуть по любой дате в примере - и во всплывающем окне вы увидите эту дату.


Код:

И, для тех, кому пример с календарём показался слишком сложным, простейший пример со стандартным списком, выводящим значение атрибута name при клике на любом из его элементов.

  • один
  • два
  • три
  • четыре
  • пять

Код:

Комментарии к теме (0)

Комментариев пока нет.

Дабавить комментарий