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