# 이벤트 사용 방법 변경(이벤트 대응)

## 3. 이벤트 대응

#### 이벤트 사용 방법 변경

IBSheet7에서 이벤트는 global window객체 안에 `시트id_이벤트명` 형식의 함수를 만드는 형태였습니다.
IBSheet8에서는 다른 속성과 마찬가지로 Events라는 속성명안에서 필요한 이벤트를 정의하는 형태로 변경되었습니다.
또한 각 이벤트별로 달랐던 argument의 개수도 IBSheet8에서는 모든 이벤트가 동일하게 `evtParam` 객체 하나를 받고, `evtParam` 객체안에 각 이벤트에 따라 다른 인자를 갖는 형태로 바뀌었습니다.

    //AS-IS
    //change 이벤트
    function mySheet_OnChange(row, col, value, oldValue) {
        if (col == 5 && value > 100) {
            alert("최대 100 까지 입력 가능합니다.");
        }
    }
    //click 이벤트
    function mySheet_OnClick(row, col, value, cellx, celly, cellw, cellh, rowtype) {
        if (mySheet.ColSaveName(col) == "SA_NO") {
            showEmpPopup( value ,"simple" );
        }
    }

    //TO-BE
    opt.Events = {
        //change 이벤트
        onAfterChange:function(evtParam) {
            if (evtParam.col == "AVGRST" && evtParam.val > 100 ) {
                alert("최대 100 까지 입력 가능합니다.");
            }
        },
        //click 이벤트
        onAfterClick:function(evtParam) {
            if (evtParam.col == "SA_NO") {
                showEmpPopup( evtParam.sheet.getValue(evtParam.row, evtParam.col) );
            }
        }
    }