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

发布于 2024-12-03 17:02:21 字数 1150 浏览 0 评论 0原文

在名为 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

别再吹冷风 2024-12-10 17:02:21

你有一个小错误;它应该是 $.each(arr, function() { Response.action(this); });

Response.actionSet = function(arr) {
    if(!$.isArray(arr)) return false;
    $.each(arr, function() { Response.action(this); });
    return arr;
};

You have a small error; it should be $.each(arr, function() { Response.action(this); });

Response.actionSet = function(arr) {
    if(!$.isArray(arr)) return false;
    $.each(arr, function() { Response.action(this); });
    return arr;
};
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文