当画布在Flex 3中可见时,不允许画布下方的组件可单击

时间:2011-05-17 20:06:55

标签: flex flex3 canvas click

我有一个组件(画布),上面有一个click事件监听器。但是,有时会有一个不透明的画布覆盖该组件。当覆盖的画布可见时,我不希望底层组件可以被点击。

当覆盖画布变得可见时,是否有办法在不手动删除click事件侦听器的情况下执行此操作,并在覆盖画布变为不可见时添加回Click事件侦听器?

作为旁注,有趣的是,叠加的画布包含标签元素,当叠加的画布可见时,底层组件只能在没有标签元素的叠加画布区域中单击。

此外,由于这是Flex,我应该注意,click事件监听器最初是通过Actionscript而不是通过mxml添加的。

3 个答案:

答案 0 :(得分:1)

我相信您要做的是在不透明画布上设置mouseEnabled="true"useHandCursor="false"。这应该可以阻止任何鼠标事件进入画布。

答案 1 :(得分:0)

我很确定如果将mouseEnabledmouseFocusEnabled属性设置为false,那么画布将不会触发click事件处理程序。

当然,我不认为画布(或任何容器)可以点击;所以要发生事件;画布中必须有一些实际触发click事件的东西。我不确定mouseEnabled和mouseFocusEnabled属性是否会渗透到容器的子节点。

答案 2 :(得分:0)

只需遮住不透明画布,使其不会在具有点击效果的画布上