2014-12-05 3 views
0

Я хочу знать, как точно делегирование событий работает внутри JS? Люди в переполнении стека уже ответили, что такое Even Delegation (What is Event Delegation), но я не вижу смысла и не замечаю, как это работает.Как событие Делегация работает внутри Javascript

Как родительский узел знает, какой дочерний узел нажат? где-то он должен храниться правильно?

+1

Событие делегирование не является внутренним для javascript, это подход к управлению прослушивателями событий. Возможно, поможет статья * * MDN Events * (https://developer.mozilla.org/en-US/docs/Web/API/Event). – RobG

+0

Вы ищете * распространение событий *, или для [этого ответа] (http://stackoverflow.com/a/25248515/1048572)? – Bergi

+0

взгляните на ответы на этот вопрос https://stackoverflow.com/questions/1687296/what-is-dom-event-delegation – Aminul

ответ

1

W3C Events Specification определяет, как работают события. Events отправляются на целевые объекты, результирующий объект Event имеет связанное с ним свойство target, которое является элементом, на котором было отправлено событие (например, элемент, на который был нажат).

Событие создает пузырьки DOM и любой элемент, с которым он сталкивается, который имеет слушатель для этого события, вызываемый его обработчиком. Связанный объект события дополняется значением currentTarget, которое ссылается на элемент, называемый слушателем.

Обратите внимание, что не все браузеры в использовании полностью поддерживают все перечисленные выше функции, в частности, currentTarget свойство является довольно новым и старше IE поддерживает event.srcElement вместо event.target

Вы должны прочитайте приведенную выше спецификацию, MDN Event reference и связанные статьи.

Смежные вопросы