Почему мы используем «пузыри» в событиях flex - PullRequest
0 голосов
/ 21 февраля 2012

Я сомневаюсь, когда мы создаем пользовательское событие во flex.

Почему мы используем 'type: String, bubbles: Boolean = false, cancellable: Boolean = false' этим параметром в событиях flex.

1 Ответ

2 голосов
/ 21 февраля 2012

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().

...