Ext.apply(Function.prototype, {
//创建拦截器,也就是在函数执行想运行拦截器,当拦截器返回false则不往下执行
/*var sayHi = function(name){
alert('Hi, ' + name);
}
var sayHiToFriend = sayHi.createInterceptor(function(name){
return name == 'Brian';
});
*/
createInterceptor : function(fcn, scope){
var method = this;
return !Ext.isFunction(fcn) ?
this :
function() {
var me = this,
args = arguments;
fcn.target = me;
fcn.method = method;
return (fcn.apply(scope || me || window, args) !== false) ?
method.apply(me || window, args) :
null;
};
},
//创建回调函数
/*
var sayHi = function(name){
alert('Hi, ' + name);
}
sayHi.createCallback('Fred')
*/
createCallback : function(/*args...*/){
// make args available, in function below
var args = arguments,
method = this;
return function() {
return method.apply(window, args);
};
},
//委派
createDelegate : function(obj, args, appendArgs){
var method = this;
return function() {
var callArgs = args || arguments;
if (appendArgs === true){
callArgs = Array.prototype.slice.call(arguments, 0);
callArgs = callArgs.concat(args);
}else if (Ext.isNumber(appendArgs)){
callArgs = Array.prototype.slice.call(arguments, 0); // copy arguments first
var applyArgs = [appendArgs, 0].concat(args); // create method call params
Array.prototype.splice.apply(callArgs, applyArgs); // splice them in
}
return method.apply(obj || window, callArgs);
};
},
//延迟执行
/*
var sayHi = function(name){
alert('Hi, ' + name);
}
sayHi.defer(2000, this, ['Fred']);
*/
//millis毫秒数,args调用函数的参数,appendArgs附加参数
defer : function(millis, obj, args, appendArgs){
var fn = this.createDelegate(obj, args, appendArgs);
if(millis > 0){
return setTimeout(fn, millis);
}
fn();
return 0;
},
//创建队列函数,
createSequence : function(fcn, scope){
var method = this;
return !Ext.isFunction(fcn) ?
this :
function(){
var retval = method.apply(this || window, arguments);
fcn.apply(scope || this || window, arguments);
return retval;
};
}
})
分享到:
相关推荐
extjs-theme-bootstrap-master.zip
ExtJs常用布局--layout详解实例代码: ExtJs常见的布局方式有:border、form、absolute、column、accordion、table、fit、card、anchor 另外,不常见的布局有:tab、vbox、hbox 具体使用方法可见该文件的案例代码。 ...
NULL 博文链接:https://lovebeyond.iteye.com/blog/1197784
ExtJS----HelloWorld程序源码
extjs-620-docs官方文档extjs-620-docs官方文档extjs-620-docs官方文档
语言程序设计资料:ExtJs学习笔记-2积分.doc
extjs2----关于extjs 的使用,操作.比较初级,但是也比较使用。适合初步接触extjs的朋友
ExtJS快速入门--传智播客--蔡世友
EXTJS4 类似于bootstrap的主题
extJs-5.0.1-gpl附带sencha cmd安装程序、ruby编译包(分为32位和64位)和教程,一共四部分
Extjs4---grid的修改、删除功能---结合struts2、hibernate
Extjs4---combobox省市区三级联动+struts2
ExtJS3.0 源码分析与开发实例宝典
这个是《ExtJS源码分析与开发实例宝典》高清版本,是本人花钱买来的,所以分享给大家,希望大家喜欢,由于本人一次只能上传60M大的文件(试了好多次,每次都上传到99%就不动了,还以为csdn在后台审核内容呢,害我电脑...
这个是《ExtJS源码分析与开发实例宝典》高清版本,是本人花钱买来的,所以分享给大家,希望大家喜欢,由于本人一次只能上传60M大的文件(试了好多次,每次都上传到99%就不动了,还以为csdn在后台审核内容呢,害我电脑...
这个是《ExtJS源码分析与开发实例宝典》高清版本,是本人花钱买来的,所以分享给大家,希望大家喜欢,由于本人一次只能上传60M大的文件(试了好多次,每次都上传到99%就不动了,还以为csdn在后台审核内容呢,害我电脑...
这个是《ExtJS源码分析与开发实例宝典》高清版本,是本人花钱买来的,所以分享给大家,希望大家喜欢,由于本人一次只能上传60M大的文件(试了好多次,每次都上传到99%就不动了,还以为csdn在后台审核内容呢,害我电脑...
一个extjs的OA项目 extjs-OA extjs-oaextjs-OA extjs-oa
extjs-7.0.0-gpl