在名为Response
的对象中,这可以同时触发.ready
和.resize
上的函数...
Response.action = function ( func ) {
if ( typeof func !== 'function' ) { return false; } // If func is not a function, return false.
$(function () { func(); $(window).resize( func ); }); //
return func;
}; // Response.action
...用这个来称呼它:
Response.action( myfunc );
function myfunc() {
//do stuff
}
(我们在this thread中解决了这一问题。)
我想制作另一个版本,该版本可以对一系列功能执行相同的操作,用法如下:
Response.actionSet( [myfunc1, myfunc2] );
function myfunc1() {
//do stuff
}
function myfunc2() {
//do stuff
}
我尝试了以下方法以及我能想象的其他所有咒语,但是我没有使它起作用。也没有错误消息。任何人都可以推荐如何使其工作:
Response.actionSet = function ( arr ) {
if ( arr.isArray !== true ) { return false; } // If arr is not an array, return false.
$.each(arr, Response.action(this)); // iterate over arr array
return arr;
}; // Response.actionSet
最佳答案
你有一个小错误;它应该是$.each(arr, function() { Response.action(this); });
Response.actionSet = function(arr) {
if(!$.isArray(arr)) return false;
$.each(arr, function() { Response.action(this); });
return arr;
};