说明:子窗中调用父窗的方法,完成后回调执行子窗中的方法
简单用法:
if (funcCallBack && jQuery.isFunction(funcCallBack )) {
var callbacks = $.Callbacks(); //执行方法的对象页
callbacks.add(funcCallBack );
callbacks.fire(param1, param2); //传入参数并执行回调方法
}
详细例子:
子窗中调用父窗的showDialog方法,完成后回调执行子窗中的Query方法
子iframe中的代码:
var callbacksObj = $.Callbacks();
window.parent.showDialog(code, callbacksObj, Query);
function Query(isAll){
//查询方法
}
var callBackFunc = null;
var callBackObj = null;
function showDialog(code,_callbackObj, _callbackFunc){
callBackFunc = _callbackFunc;
callBackObj = _callbackObj;
//操作代码
editData();
}
function editData(){
//XXX操作
fireCallBack(); //执行回调
}
function fireCallBack() {
if (callBackFunc && jQuery.isFunction(callBackFunc)) {
if (callBackObj) {
callBackObj.add(callBackFunc);
callBackObj.fire(true);
}
}
}