# 히트 테스트(Hit Test)

## Content

**Hit test**는 그래픽 사용자 인터페이스(GUI, Graphical User Interface)에서 사용자의 동작에 대한 반응을 감지하고 처리하는 기능입니다.
SpreadJS는 마우스 클릭 이벤트에서 **셀 인덱스를 가져올 수 있는 hit-testing 기능**을 지원합니다. SpreadJS는 마우스 클릭 이벤트에서 **셀 인덱스를 가져올 수 있는 hit-testing 기능**을 지원합니다. 이 기능은 워크시트 내의 특정 요소에 접근하거나, 사용자 선택에 반응해야 할 때 유용하게 사용됩니다.
[Workbook class](/spreadjs/api/v19/classes/GC.Spread.Sheets.Workbook)의 [hitTest](/spreadjs/api/v19/classes/GC.Spread.Sheets.Workbook#hitTest) 메서드를 사용하면, 워크북 내의 특정 `X` 및 `Y` 좌표에서 **어떤 영역이 클릭되었는지**를 판별할 수 있습니다. 이 메서드를 통해 사용자는 화면 좌표에서 **워크북 내의 어떤 구성 요소가 클릭되었는지**를 빠르게 알아낼 수 있습니다.
아래 표는 SpreadJS 워크북에서 정의된 다양한 **클릭 가능 영역**과 각 영역 내의 **하위 클릭 요소(세부 위치)** 에 대해 설명합니다:

| 워크북 영역 | 클릭 요소 |
| ------ | ----- |
| 워크 시트 | corner, rowHeader, colHeader, viewport |
| 시트 탭 | prevArrow, nextArrow, sheetName, blank, resize |
| 가로 스크롤 바 | leftButton, rightButton, thumbButton, trackButton |
| 세로 스크롤 바 | upButton, downButton, thumbButton, trackButton |
| 하단 모서리 | footerCorner |

아래는 워크북의 **5가지 주요 영역**과 각각에 해당하는 **클릭 가능 요소(Click Area Elements)** 에 대한 설명입니다.

* **워크시트(Worksheet)**![](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/8d606653-16a0-474d-b9dc-e2b4d01c2446/images/Hit_Test1.png)
* **시트 탭**
    ![](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/8d606653-16a0-474d-b9dc-e2b4d01c2446/images/Hit_Test2.png)
* **가로 스크롤 바**
    ![](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/8d606653-16a0-474d-b9dc-e2b4d01c2446/images/Hit_Test3.png)
* **세로 스크롤 바**
    ![](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/8d606653-16a0-474d-b9dc-e2b4d01c2446/images/Hit_Test4.png)
* **하단 모서리**
    ![](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/8d606653-16a0-474d-b9dc-e2b4d01c2446/images/Hit_Test5.png)

## 코드 사용 예

다음 예제는 [hitTest](/spreadjs/api/v19/classes/GC.Spread.Sheets.Workbook#hitTest) 메서드를 사용하여 **히트 테스트(클릭 감지)** 를 수행하는 방법을 보여줍니다. 사용자가 워크북의 어느 영역을 클릭하면, [hitTest](/spreadjs/api/v19/classes/GC.Spread.Sheets.Workbook#hitTest) 메서드가 호출되어 해당 **X, Y 좌표로부터 클릭된 영역(hit area)** 을 반환합니다.

```javascript
var hitArea = workbook.hitTest(0,0)
```