跳到主要内容

控件的吃掉事件与静态属性

一、吃掉事件

在界面编辑器中点击子控件时,子控件和父控件的点击事件均会响应,执行其他动作响应的事件也是同理。打开吃掉事件可以让事件不再向父控件传递下去。

二、静态属性

当控件的静态属性为开时,控件不会接收任何事件,可以被穿透,位于其下方的控件会响应所有事件。可以将提示信息或者公告文本的静态属性设置为开。

示例: 在界面编辑器中,当一个控件完全位于另一个控件的上方时,他们的点击事件会怎么生效呢?

情况一:当点击子控件时,该子控件和其父控件的点击事件会同时响应。


如果想要触发某个控件的点击事件,但又不想触发位于其父控件的点击事件,可以用吃掉事件来实现(其他事件也是同理)。将吃掉事件设置为true后,事件不会再向父控件传递下去。此外还可以指定吃掉事件的类型。

需注意,吃掉事件仅对有父子关系的控件生效

情况二:当上下两个控件没有包含关系时,会有两种情况。

  1. 位于上方的控件没有打开允许拖拽/允许拖放/允许滚动/任意事件,且静态属性为开启,则其会被穿透,位于其下方的控件会响应所有事件。

  2. 位于上方的控件有允许拖拽/允许拖放/允许滚动/任意事件中的任意一个时,或者其静态属性为关闭,则完全位于其下方的控件不会响应任何事件。