如何在Flex的画布停止鼠标移出事件触发的子元素
-
05-09-2019 - |
题
我使用的画布的itemRenderer用于容器我使用以显示图像。见下文的伪代码。
image = new Image();
image.source = data.@thumb;
this.addChild(image);
this.addEventListener(MouseEvent.MOUSE_OVER, enlarge(image));
this.addEventListener(MouseEvent.MOUSE_OUT, shrink(image));
当我鼠标在画布中,放大函数被调用。然而,只要我移动鼠标到图像或另一个子元件,所述MOUSE_OUT事件。
任何人都可以点我的方式方向禁用此行为?
感谢:)
解决方案
您应该使用 MouseEvent.ROLL_OVER
一>和 MouseEvent.ROLL_OUT
事件代替。
从Flash CS4文档:
当鼠标进入显示对象的区域或任何其子的从对象不是它的一个子区域中,显示对象调度的翻转事件。这是不同的行为与mouseOver事件,该事件是在每次鼠标进入显示对象容器的任何子对象区域时才会被调度,即使鼠标已在显示对象容器的另一个子对象。
其他提示
我与Josh同意ROLL_OVER
事件似乎更适合你在做什么。但是,你应该知道的 mouseChildren
flash.display.DisplayObjectContainer
(UIComponent
的祖先)的属性。
转出为我工作。 关于组合框的问题: 您还可以检查事件的目标是从容器一个孩子。
不隶属于 StackOverflow