我有一个组件(画布),上面有一个click事件监听器。但是,有时会有一个不透明的画布覆盖该组件。当覆盖的画布可见时,我不希望底层组件可以被点击。
当覆盖画布变得可见时,是否有办法在不手动删除click事件侦听器的情况下执行此操作,并在覆盖画布变为不可见时添加回Click事件侦听器?
作为旁注,有趣的是,叠加的画布包含标签元素,当叠加的画布可见时,底层组件只能在没有标签元素的叠加画布区域中单击。
此外,由于这是Flex,我应该注意,click事件监听器最初是通过Actionscript而不是通过mxml添加的。
答案 0 :(得分:1)
我相信您要做的是在不透明画布上设置mouseEnabled="true"
和useHandCursor="false"
。这应该可以阻止任何鼠标事件进入画布。
答案 1 :(得分:0)
我很确定如果将mouseEnabled和mouseFocusEnabled属性设置为false,那么画布将不会触发click事件处理程序。
当然,我不认为画布(或任何容器)可以点击;所以要发生事件;画布中必须有一些实际触发click事件的东西。我不确定mouseEnabled和mouseFocusEnabled属性是否会渗透到容器的子节点。
答案 2 :(得分:0)
只需遮住不透明画布,使其不会在具有点击效果的画布上