Flex – 单击封闭组件时,避免在容器上单击事件
发布时间:2020-12-15 01:46:23 所属栏目:百科 来源:网络整理
导读:我有一个Flex应用程序,我使用Canvas来包含其他几个组件.在该Canvas上有一个Button,用于调用通过系统的特定流.单击“画布”上的任何其他位置都会导致显示详细信息窗格,显示有关此控件所代表的记录的更多信息. 我遇到的问题是,因为按钮位于Canvas中,只要用户单
我有一个Flex应用程序,我使用Canvas来包含其他几个组件.在该Canvas上有一个Button,用于调用通过系统的特定流.单击“画布”上的任何其他位置都会导致显示详细信息窗格,显示有关此控件所代表的记录的更多信息.
我遇到的问题是,因为按钮位于Canvas中,只要用户单击Button,就会在Button和Canvas上触发click事件.如果用户点击另一个组件覆盖的区域,有没有办法避免在Canvas对象上触发click事件? 我已经创建了一个简单的小测试应用程序来演示问题: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <![CDATA[ private function onCanvasClick(event:Event):void { text.text = text.text + "n" + "Canvas Clicked"; } private function onButtonClick(event:Event):void { text.text = text.text + "n" + "Button Clicked"; } ]]> </mx:Script> <mx:Canvas x="97" y="91" width="200" height="200" backgroundColor="red" click="onCanvasClick(event)"> <mx:Button x="67" y="88" label="Button" click="onButtonClick(event)"/> </mx:Canvas> <mx:Text id="text" x="97" y="330" text="Text" width="200" height="129"/> </mx:Application> 当您单击按钮时,您将看到文本框中的两个条目,“按钮单击”,然后“Canvas Clicked”,即使鼠标仅被单击一次. 我想找到一种方法,我可以避免第二个条目,当我单击按钮时,只有“按钮单击”条目,但如果我要点击画布中的任何其他地方“画布单击”进入仍然会出现. 解决方法
事件继续,因为event.bubbles设置为true.这意味着显示器层次结构中的所有内容都会获得该事件.要停止活动继续,请致电
event.stopImmediatePropagation() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |