본문 바로가기

js/jQuery

[javascript] 모달 사용시 콜백 예제



  모달 라이브러리를 사용할 일이 많은데 보통 모달창을 열고 닫거나 확인 할때 함수를 실행해야합니다. 콜백 함수를 open 에 넣어주는데 없을때 간단하게 구현해주는 예제입니다.


1. 모달 js


// modal javascript
var _data = { a : null , b : null };
_data.isCallbackExists = false;

var _callback = {};

//modal open
_data.open = function (callback) {
    $("{{Modal DIV}}").modal();

    if (callback) {
        _data.isCallbackExists = true;

        _callback.run = function (data) {
            var runCallback = function (data) {
                callback(data);
            }
            runCallback(_data);
        }.bind(this);
    } 
}

//modal save
_data.save = function(){
  _data.a = 'Y';
  _data.b = 'Y';
  
  if(isCallbackExists)
    _callback.run(_data);
  }
}


2. 호출 js


//외부 javascript
var _popup = { a : null, b : null };
_popup.run = function(data){
  console.log('data : ' + JSON.stringify(data));
}

_data.open(_popup.run);