使用.each在.resize上执行函数数组

在一个名为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 } 

(我们在这个post中解决了这个问题 。)

我想创建另一个版本,可以为一函数做同样的事情,使用如下:

 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; };