我在Flex应用程序中有一个画布,其中的项目仅占主画布面积的50%左右。
我希望画布响应整个区域的rollOver事件,而不仅仅是项目所覆盖的区域。
我已经设置了以下属性来实现这一点:
<mx:Canvas backgroundColor="white"
backgroundAlpha=".01"
rollOver="rollOver(event)">...这会导致整个画布响应rollOver事件。它工作得很好--我只是对它不满意,我想一定有更好的方法来实现它。
有没有一种方法可以强制鼠标事件作用于UIComponent的整个区域?
发布于 2008-11-16 00:09:36
您正在做的事情是完全可以接受的,尽管没有必要使用任意的Alpha值0.01,但您可以将它的backgroundAlpha设置为简单的0。
我经常将画布用于复杂的多层UI,并通过css设置我的默认画布样式,使其backgroundAlpha为0,backgroundColor为#ffffff,然后,如果我需要一个画布真正可见,我会调整它的单独backgroundAlpha和backgroundColor属性。
将图形对象的alpha设置为0是没有错的,这样它仍然会响应事件,但并没有完全“关闭”,我们作为程序员一直都在这样做!
发布于 2008-12-26 16:12:39
如果忽略图像的透明部分呢?在我的例子中,我希望只有当图像的可见部分被滚动时才会发生滚动效果,而不是透明部分。这个是可能的吗?
https://stackoverflow.com/questions/291927
复制相似问题