체크박스 » Event

on_keydown

Description

키가 눌렸을 때 호출되는 이벤트이다.

Parameters

Parameters Type Description
objInst INSTANCE 컴포넌트 인스턴스
keycode short 키 코드
bctrldown BOOL CTRL 키 누름 상태 여부
bshiftdown BOOL SHIFT 키 누름 상태 여부
baltdown BOOL ALT 키 누름 상태 여부
bnumpadkey BOOL 숫자 패드에서 발생한 키 여부

Return Value

Type Description
short 입력된 키 이벤트를 상위로 버블링 여부 지정 (0: 버블링, 1: 버블링 하지 않음)

Remark

Key Down 이벤트는 on_keydown 이벤트 핸들러 함수의 리턴값에 따라서 Key Down 이벤트를 Key Down 이벤트가 발생한 화면의 부모 화면으로 전달할지 여부가 결정된다.

따라서, Key Down 이벤트 처리 핸들러 함수에서는 처리해야하는 키코드에 대한 부분만을 처리하고(리턴 1), 나머지는 부모 화면으로 Key Down 이벤트를 전달(리턴 0)해야 한다.

UI 전역적으로 사용하는 단축키에 대한 이벤트는 보통 메인 화면(최상단 부모 화면)에서 처리하기 때문에, 개별 업무 화면의 Key Down 이벤트 핸들러 함수에서 리턴값을 잘못 설정하면, 메인 화면에 Key Down 이벤트가 전달되지 않기 때문에, 함수의 리턴값에 주의해야 한다.

[함수 리턴값]
0 : 자신의 부모 화면으로 KeyDown 이벤트를 넘길 경우
1 : 자신의 부모 화면으로 KeyDown 이벤트를 넘기지 않을 경우

Example

/**
 * 키보드 이벤트 처리 후 이벤트
 * 키보드 이벤트에 대한 처리 후에 발생한다.
 *
 * @param {Object} objInst 이벤트가 발생한 컴포넌트 인스턴스
 * @param {number} keycode 키코드
 * @param {boolean} bctrldown CTRL 키 누름 상태 여부
 * @param {boolean} bshiftdown SHIFT 키 누름 상태 여부
 * @param {boolean} baltdown  ALT 키 누름 상태 여부
 * @param {boolean} bnumpadkey 숫자 패드에서 발생한 키 여부
 *
 * @returns {number} 키 처리 방식
 * 	0 - 자신의 부모 화면으로 KeyDown 이벤트를 넘길 경우 (기본값)
 * 	1 - 자신의 부모 화면으로 KeyDown 이벤트를 넘기지 않을 경우
 */
function component_on_keydown(objInst, keycode, bctrldown, bshiftdown, baltdown, bnumpadkey)
{
    // keycode가 Enter Key(13)인 경우에만 처리하고, 다른 키는 처리하지 않는다.
    if(keycode == 13) {
        factory.consoleprint("Enter Key is Pressed, So Return 1");
        return 1;  // 콘트롤이 포함된 화면으로 Key Down 이벤트 전달하지 않음.
    }
	
    return 0;  // 컨트톨이 포함된 화면으로 Key Down 이벤트 전달
}

See Also

on_prekeydown

Viewer Ver.

9.1

Update Date

20230713