1# Common Event Callback
2
3>**NOTE**
4>
5>The initial APIs of this module are supported since API version 12. Newly added APIs will be marked with a superscript to indicate their earliest API version.
6
7## UICommonEvent
8Implements a common event callback. If the input parameter of an API is **undefined**, the corresponding event callback is reset.
9### setOnClick
10
11setOnClick(callback: Callback\<ClickEvent> | undefined): void
12
13Set the callback for the [click event](./ts-universal-events-click.md#click-event).
14
15**Atomic service API**: This API can be used in atomic services since API version 12.
16
17**System capability**: SystemCapability.ArkUI.ArkUI.Full
18
19**Parameters**
20
21| Name | Type  | Mandatory | Description                      |
22| ------ | ------ | ---- | -------------------------- |
23| callback  | [Callback](./ts-types.md#callback12)<[ClickEvent](./ts-universal-events-click.md#clickevent)> \| undefined | Yes  | Callback for the click event. |
24
25### setOnTouch
26
27setOnTouch(callback: Callback\<TouchEvent> | undefined): void
28
29Sets the callback for the [touch event](./ts-universal-events-touch.md#touch-event).
30
31**Atomic service API**: This API can be used in atomic services since API version 12.
32
33**System capability**: SystemCapability.ArkUI.ArkUI.Full
34
35**Parameters**
36
37| Name | Type  | Mandatory | Description                      |
38| ------ | ------ | ---- | -------------------------- |
39| callback  | [Callback](./ts-types.md#callback12)<[TouchEvent](./ts-universal-events-touch.md#touchevent)> \| undefined | Yes  | Callback for the touch event. |
40
41
42### setOnAppear
43
44setOnAppear(callback: Callback\<void> | undefined): void
45
46Sets the callback for the [onAppear](./ts-universal-events-show-hide.md#onappear) event.
47
48**Atomic service API**: This API can be used in atomic services since API version 12.
49
50**System capability**: SystemCapability.ArkUI.ArkUI.Full
51
52**Parameters**
53
54| Name | Type  | Mandatory | Description                      |
55| ------ | ------ | ---- | -------------------------- |
56| callback  | [Callback](./ts-types.md#callback12)\<void> \| undefined | Yes  | Callback for the **onAppear** event. |
57
58
59### setOnDisappear
60
61setOnDisappear(callback: Callback\<void> | undefined): void
62
63Sets the callback for the [onDisappear](./ts-universal-events-show-hide.md#ondisappear) event.
64
65**Atomic service API**: This API can be used in atomic services since API version 12.
66
67**System capability**: SystemCapability.ArkUI.ArkUI.Full
68
69**Parameters**
70
71| Name | Type  | Mandatory | Description                      |
72| ------ | ------ | ---- | -------------------------- |
73| callback  | [Callback](./ts-types.md#callback12)\<void> \| undefined | Yes  | Callback for the **onDisappear** event. |
74
75### setOnKeyEvent
76
77setOnKeyEvent(callback: Callback\<KeyEvent> | undefined): void
78
79Sets the callback for the [key event](./ts-universal-events-key.md#key-event).
80
81**Atomic service API**: This API can be used in atomic services since API version 12.
82
83**System capability**: SystemCapability.ArkUI.ArkUI.Full
84
85**Parameters**
86
87| Name | Type  | Mandatory | Description                      |
88| ------ | ------ | ---- | -------------------------- |
89| callback  | [Callback](./ts-types.md#callback12)<[KeyEvent](./ts-universal-events-key.md#keyevent)> \| undefined | Yes  | Callback for the key event. |
90
91### setOnFocus
92
93setOnFocus(callback:  Callback\<void> | undefined): void
94
95Sets the callback for the [onFocus](./ts-universal-focus-event.md#onfocus) event.
96
97**Atomic service API**: This API can be used in atomic services since API version 12.
98
99**System capability**: SystemCapability.ArkUI.ArkUI.Full
100
101**Parameters**
102
103| Name | Type  | Mandatory | Description                      |
104| ------ | ------ | ---- | -------------------------- |
105| callback  | [Callback](./ts-types.md#callback12)\<void> \| undefined | Yes  | Callback for the **onFocus** event. |
106
107### setOnBlur
108
109setOnBlur(callback: Callback\<void> | undefined): void
110
111Sets the callback for the [onBlur](./ts-universal-focus-event.md#onblur) event.
112
113**Atomic service API**: This API can be used in atomic services since API version 12.
114
115**System capability**: SystemCapability.ArkUI.ArkUI.Full
116
117**Parameters**
118
119| Name | Type  | Mandatory | Description                      |
120| ------ | ------ | ---- | -------------------------- |
121| callback  | [Callback](./ts-types.md#callback12)\<void> \| undefined | Yes  | Callback for the **onBlur** event. |
122
123### setOnHover
124
125setOnHover(callback: HoverCallback | undefined): void
126
127Sets the callback for the [onHover](./ts-universal-mouse-key.md#onhover) event.
128
129**Atomic service API**: This API can be used in atomic services since API version 12.
130
131**System capability**: SystemCapability.ArkUI.ArkUI.Full
132
133**Parameters**
134
135| Name | Type  | Mandatory | Description                      |
136| ------ | ------ | ---- | -------------------------- |
137| callback  | [HoverCallback](./ts-types.md#hovercallback12)  \| undefined | Yes  | Callback for the **onHover** event. |
138
139### setOnMouse
140
141setOnMouse(callback: Callback\<MouseEvent> | undefined): void
142
143Sets the callback for the [onMouse](./ts-universal-mouse-key.md#onmouse) event.
144
145**Atomic service API**: This API can be used in atomic services since API version 12.
146
147**System capability**: SystemCapability.ArkUI.ArkUI.Full
148
149**Parameters**
150
151| Name | Type  | Mandatory | Description                      |
152| ------ | ------ | ---- | -------------------------- |
153| callback  |  [Callback](./ts-types.md#callback12)<[MouseEvent](./ts-universal-mouse-key.md#mouseevent)> \| undefined | Yes  | Callback for the **onMouse** event. |
154
155### setOnSizeChange
156
157setOnSizeChange(callback: SizeChangeCallback | undefined): void
158
159Sets the callback for the [onSizeChange](./ts-universal-component-size-change-event.md#onsizechange) event.
160
161**Atomic service API**: This API can be used in atomic services since API version 12.
162
163**System capability**: SystemCapability.ArkUI.ArkUI.Full
164
165**Parameters**
166
167| Name | Type  | Mandatory | Description                      |
168| ------ | ------ | ---- | -------------------------- |
169| callback  | [SizeChangeCallback](./ts-universal-component-size-change-event.md#sizechangecallback)   \| undefined | Yes  | Callback for the **onSizeChange** event. |
170
171### setOnVisibleAreaApproximateChange
172
173setOnVisibleAreaApproximateChange(options: VisibleAreaEventOptions, event: VisibleAreaChangeCallback | undefined): void
174
175Sets the [onVisibleAreaChange](./ts-universal-component-visible-area-change-event.md#onvisibleareachange) callback that limits the callback interval.
176
177**Atomic service API**: This API can be used in atomic services since API version 12.
178
179**System capability**: SystemCapability.ArkUI.ArkUI.Full
180
181**Parameters**
182
183| Name | Type  | Mandatory | Description                      |
184| ------ | ------ | ---- | -------------------------- |
185| options  | [VisibleAreaEventOptions](./ts-types.md#visibleareaeventoptions12) | Yes  | Options of visible area changes. |
186| event  | [VisibleAreaChangeCallback](./ts-types.md#visibleareachangecallback12)   \| undefined | Yes  | Callback for the **onVisibleAreaChange** event. Called when the ratio of the component's visible area to its total area is greater than or less than the threshold. |
187
188>**NOTE**
189>
190> This callback is not a real-time callback. The actual callback interval may be different from the expected interval.
191> The interval between **onVisibleAreaChange** callbacks is greater than or equal to the expected update interval. If the expected interval set is too short, the actual callback interval is subject to the system load.
192