使用 .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
}
我们在这个线程中解决了这个问题。)
我想制作另一个版本可以为一个做同样的事情函数数组,用法如下:
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
In the an object called Response
this works to trigger a function on .ready
and .resize
simultaneously...
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
...using this to call it:
Response.action( myfunc );
function myfunc() {
//do stuff
}
(We worked that out in this thread.)
I'd like to make another version that can do the same thing for an array of functions, with usage like this:
Response.actionSet( [myfunc1, myfunc2] );
function myfunc1() {
//do stuff
}
function myfunc2() {
//do stuff
}
I tried it as below and every other incantation I could imagine, but I haven't got it to work. No error messages either. Can anyone recommend how to get this working:
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你有一个小错误;它应该是 $.each(arr, function() { Response.action(this); });
You have a small error; it should be
$.each(arr, function() { Response.action(this); });