Flex mouseEnabled和mouseChildren的区别

来源:互联网 发布:js隐藏视频播放进度条 编辑:程序博客网 时间:2024/05/16 09:06
 
按照flex api的说法,两者都是指定对象是否接收鼠标消息。

mouseEnabled 是指定此对象是否接收鼠标消息。默认值为 true,这意味着在默认情况下,显示列表上的任何 InteractiveObject 实例均接收鼠标事件。如果将 mouseEnabled 设置为 false,实例不接收任何鼠标事件。显示列表上的该实例的任何子级都不会受到影响。要更改显示列表上对象的所有子级的 mouseEnabled 行为,请使用 flash.display.DisplayObjectContainer.mouseChildren。

mouseChildren 是确定对象的子项是否支持鼠标。如果对象支持鼠标,则用户可以使用鼠标与其交互。默认值为 true。

当您使用 Sprite 类的实例(而不是使用 SimpleButton 类)来创建按钮时,此属性很有用。当您使用 Sprite 实例来创建按钮时,您可以选择使用 addChild() 方法添加其它 Sprite 实例来修饰按钮。此过程可能导致鼠标事件出现意外行为,因为当您期望父实例成为鼠标事件的目标对象时,作为子项添加的 Sprite 实例却可能成为目标对象。要确保父实例用作鼠标事件的目标对象,您可以将父实例的 mouseChildren 属性设置为 false。

设置此属性不会调度任何事件。您必须使用 addEventListener() 方法才能创建交互式功能。