Я пытаюсь обдумать общие принципы работы и принципы распределения событий в управляемых событиями (под) системах.
Хотя я несколько раз использовал его, например, в Javascript, Flash (Actionscript 2 и 3) и даже когда-то создавал для себя простую систему диспетчеризации событий в PHP, я никогда по-настоящему не понимал всплывающих событий и / или распространение это хорошо.
Первый вопрос:
является ли пузырение события синонимом распространения события?
Второй вопрос:
правильно ли я понимаю, что когда событие «пузырится», это означает, что оно «перемещается» вверх по иерархии объектов?
Третий и самый важный вопрос:
верно ли мое понимание вопроса 2; как это «продвижение» вверх по иерархии объектов обычно осуществляется?
Означает ли это, что родительский объект «повторно отправляет» то же событие своему родительскому объекту (пока не достигнет корневого объекта)? И если так; все эти объекты в иерархии должны прислушиваться к своим дочерним элементам для этих событий, или мне не хватает чего-то жизненно важного принципа в моем понимании всплытия событий, когда нет необходимости позволять родительскому объекту регистрировать себя в качестве слушателей событий дочерних объектов?
Если бы вы могли проиллюстрировать эти основные принципы с помощью простого псевдокода, я был бы более чем благодарен.