javascript - 将两个事件处理合并为一个事件处理

标签 javascript jquery optimization

我正在尝试组合两个相同的代码,它们仅在事件处理程序中有所不同。当网站加载时,它会启动我的函数,如果用户调整浏览器的大小,它将更新变量并再次运行该函数。

$(window).load(function() {

        $(!agent) {

            var milk   = $().height(),
                choco  = $().width();

            doThis();

        } else {
            var orange  = $().length(),
                apple   = $().width();

            orThis();
        }

});

$(window).resize(function() {

        $(!agent) {

            var milk   = $().height(),
                choco  = $().width();

            doThis();

        } else {
            var orange  = $().length(),
                apple   = $().width();

            orThis();
        }

});

最佳答案

或者您可以定义函数:

function mySuperDuperEventHandler()
{
    $(!agent) {

        var milk   = $().height(),
            choco  = $().width();

        doThis();

    } else {
        var orange  = $().length(),
            apple   = $().width();

        orThis();
    }
}

然后将其指定为事件处理程序:

$(window).on('load resize',mySuperDuperEventHandler);

关于javascript - 将两个事件处理合并为一个事件处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24581273/

相关文章:

javascript - 为什么这个 for 循环记录 "undefined"?

javascript - jquery mobile changePage() 无法正常工作

javascript - 正则表达式:匹配各种维度模式

javascript - 更新 html 值而不重新加载页面

javascript - 如何在 JSFiddle 中加载 KnockoutJS

optimization - 是否有可能使 GHC 优化(砍伐)通用功能,例如变形?

javascript - div 至少与其他 div 一样高

javascript - jQuery 幻灯片图像延迟

javascript - 缩小 JavaScript 的执行时间会变慢吗?

python - 在 Python 中优化数据帧子集操作