Bubbling заставляет отправленное событие продолжать отправляться вверх по дереву отображения, пока оно не достигнет стадии. Это полезно в различных сценариях.
Например: представьте, что у вас есть несколько кнопок внутри родительского объекта DisplayObject. Вы можете добавить слушателей к каждой кнопке, и не забудьте потом удалить их, или вы можете просто добавить одного слушателя к родителю. Это работает, потому что в MouseEvents включено пузырьковое управление.
buttonParent.addEventListener(MouseEvent.CLICK,handleButtonClick);
function handleButtonClick(event:MouseEvent):void
{
trace("The button clicked was " + event.target.name);
}
Преимущество этого заключается в том, что теперь вы можете свободно добавлять и удалять кнопки, не беспокоясь о подключении к ним слушателей. Свойство target
объекта события будет ссылкой на нажатую кнопку, а currentTarget
будет ссылкой на родителя.
Cancelable - это флаг, который устанавливает, разрешено ли вам останавливать действие по умолчанию для события, вызывая метод preventDefault()
.