У меня есть VBox, я назначил обработчик для клика, а внутри VBox у меня есть компоненты, такие как изображения и тексты без обработчика, назначенного для клика. Будет ли вызвана функция click, когда я нажимаю на текст и изображение? Если нет, то как я могу это сделать, не назначая обработчики отдельно, а на уровне контейнера? СпасибоКак работает событие щелчка Flex внутри контейнеров?
ответ
Щелкните мышью на событиях «пузырь» в Flex. Когда вы нажимаете на изображение, оно всплывает до родителя, потом родителя этого родителя и так далее, пока больше не осталось родителей.
Если у кого-либо из них есть кнопки прослушивания, они будут срабатывать, когда они будут достигнуты в процессе барботирования.
Также в случае, если currentTarget
будет ссылаться на объект, у которого есть слушатель, и target
будет тем, что было на самом деле нажато.
Так что в вашем случае, если они щелкнут по изображению, событие будет пузыриться до контейнера, запускающего событие, в вашей функции прослушивания щелкнув изображение будет event.target, а контейнером будет event.currentTarget.
Также в процессе барботирования он фактически начинается с корневого родителя вниз, это называется фазой захвата, затем пузырится обратно. Ваше событие будет срабатывать, когда оно будет всплывать, если вы не укажете useCapturePhase = true
в прослушивателе событий. Вот как вы можете остановить событие от своих детей. Если вы используете фазу захвата, тогда вызовите event.stopPropagation()
внутри прослушивателя событий, тогда контейнер получит событие, но дочернее изображение не будет.
Потребовалось час ответа на этот вопрос ... вероятно, было бы быстрее просто попробовать. :)
Но да, щелкните события пузырьками до родительских контейнеров. Добавление обработчика в VBox должно быть прекрасным.
Я был уверен, что контейнеры, такие как VBox, не отправляют события кликов; если только они не пузырятся от детей.
Однако, нажатие на элементы в контейнере должно вызвать слушателя на вашем контейнере, как пузыри событий.
- 1. jQuery Mobile Swipe Событие внутри контейнеров
- 2. Как добавить событие щелчка к меткам оси в Flex
- 3. Override событие щелчка с другим событием щелчка внутри этого элемента
- 4. `align-content: flex-end`, похоже, не работает для вложенных контейнеров
- 5. Связывание двух контейнеров скроллеров Flex
- 6. pika.BlockingConnection() не работает внутри контейнеров, хорошо работает внутри виртуальных машин
- 7. Adobe Flex Предотвращение двойного щелчка
- 8. Поведение двойного щелчка Strange Flex
- 9. Как вызвать событие щелчка программно?
- 10. Как прослушать полноэкранное событие щелчка
- 11. подписаться на событие щелчка не работает
- 12. Событие щелчка мыши QwtPlot
- 13. Расширение Chrome - событие щелчка
- 14. Как добавить событие щелчка для случайно помещенного поля внутри холста?
- 15. Как найти событие щелчка кнопки, расположенной внутри элемента управления ретранслятора
- 16. Событие щелчка типа Bootstrap
- 17. Правильное событие щелчка
- 18. JSSOR событие щелчка шайбы
- 19. Как имитировать событие щелчка мыши
- 20. Как задержать событие щелчка .trigger
- 21. Как получить событие щелчка RibbonApplicationMenuItem
- 22. Как получить событие щелчка DrawerArrowDrawable
- 23. Как реализовать событие щелчка метки
- 24. событие щелчка увольняют дважды - JQuery
- 25. Обработка события щелчка внутри панели внутри C#
- 26. FLEX: Как поймать событие «href»
- 27. наблюдать событие щелчка в директиве
- 28. Flex 4: событие перемещения компонента
- 29. Поддельное событие щелчка - жасмин
- 30. Событие щелчка документа Extjs