1. 객체 생성시점에서 이벤트 설정하기

(static) create Method의 options 파라미터 안에 Events 속성을 통해 설정합니다.


var OPT = {
  Cfg: { ... },
  Cols: [
    // 열(Column) 기능 설정...
  ],
  Events: {
   // 클릭 이벤트
    onAfterClick: function(evtParam) {
         ...            
    },
    // 수정 이벤트
    onAfterChange: function(evtParam) {
         ...
    }
  }
};

// IBSheet8 객체 생성 함수
IBSheet.create({
  id: "sheet",        // 객체 ID
  el: "sheetDiv",     // IBSheet8을 생성할 DIV객체 ID
  options: OPT       // 초기화 구문 변수
});


IBSheet8의 이벤트는 다음과 같은 특징을 갖습니다.


  • 모든 이벤트의 파라미터는 1개이며 object 형식 입니다.
  • 모든 이벤트의 파라미터에는 "sheet"(이벤트 수행 IBSheet8 객체) 와 "eventName"(이벤트 이름) 이 포함되어 있으며, 이벤트에 따라 row, col , x, y , keyCode 등의 속성이 들어있습니다.

    [onBeforeChange 이벤트의 파라미터 내용]
  • 일부 이벤트는 return 값을 통해 현재 진행 상태를 중단하거나, 사용자 입력을 변경할 수 있습니다.
    ex)
    - onSave, onBeforeSave, onStartEdit 등 : true를 return 시 저장 작업을 중단합니다.
    - onBeforeChange, onEndEdit 등 : return 하는 값으로 셀(Cell) 값을 변경합니다.




2. 객체 생성 이후 이벤트 설정하기


객체가 생성되고 난 이후에는 bind 함수를 통해 이벤트를 설정하실 수 있습니다.


// 이벤트 명, 발생 시 콜백함수
    sheet.bind("onAfterChange", function(evtParam) {

       //콜백함수

});


이벤트 발생 시 callback 함수에 넘어오는 evtParam에는 각 이벤트 별로 이벤트가 발생한 시트 객체나, 행 객체, 열이름등이 들어 있습니다.



주의!

객체 생성 이후에 이벤트를 추가하는 것은 onBeforeCreate에서 공통으로 처리한 로직을 무시할 수 있으므로 권장하지 않습니다.




SEE ALSO 


공통 이벤트(event) 처리 방법


event error 객체