• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 点击控制
2<!--Kit: ArkUI-->
3<!--Subsystem: ArkUI-->
4<!--Owner: @jiangtao92-->
5<!--Designer: @piggyguy-->
6<!--Tester: @songyanhong-->
7<!--Adviser: @HelloCrease-->
8<!--deprecated_code_no_check-->
9
10设置组件是否可以响应点击事件、触摸事件等手指交互事件。
11
12>  **说明:**
13>
14>  从API version 9开始,该模块不再维护,建议使用[hitTestBehavior](ts-universal-attributes-hit-test-behavior.md)替代。
15>
16>  从API version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
17
18## touchable<sup>(deprecated)</sup>
19
20touchable(value: boolean): T
21
22设置当前组件是否可以响应点击事件、触摸事件等手指交互事件。
23
24**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
25
26**系统能力:** SystemCapability.ArkUI.ArkUI.Full
27
28| 名称      | 类型| 必填 | 说明                    |
29| ----------- | -------- | ----- | ------------------------ |
30| value   | boolean  |  否   |设置当前组件是否可以响应点击事件、触摸事件等手指交互事件。<br>默认值:true,可以响应交互事件。设置为false时,不可以响应交互事件。 |
31
32**返回值:**
33
34| 类型 | 说明 |
35| -------- | -------- |
36| T | 返回当前组件。 |
37
38## 示例
39
40```ts
41// xxx.ets
42@Entry
43@Component
44struct TouchAbleExample {
45  @State text1: string = ''
46  @State text2: string = ''
47
48  build() {
49    Stack() {
50      Rect()
51        .fill(Color.Gray).width(150).height(150)
52        .onClick(() => {
53          console.info(this.text1 = 'Rect Clicked')
54        })
55        .overlay(this.text1, { align: Alignment.Bottom, offset: { x: 0, y: 20 } })
56      Ellipse()
57        .fill(Color.Pink).width(150).height(80)
58        .touchable(false) // 点击Ellipse区域,不会打印 “Ellipse Clicked”
59        .onClick(() => {
60          console.info(this.text2 = 'Ellipse Clicked')
61        })
62        .overlay(this.text2, { align: Alignment.Bottom, offset: { x: 0, y: 20 } })
63    }.margin(100)
64  }
65}
66```
67
68![zh-cn_image_0000001189624550](figures/zh-cn_image_0000001189624550.gif)
69