javascript - 去匿名化 jQuery 中的匿名函数

标签 javascript jquery

这可能是一个非常简单的问题,但它让我摸不着头脑,所以我把它贴在这里。

我有以下形式的一些 jQuery:

if (jQuery('.SearchRegions:checked').length == 0) { 

jQuery('.SearchRegions').each(function(){

        //code

    });

} else {

jQuery('.SearchRegions:checked').each(function(){

        //the same code     

    });

}

显然,在每个函数中重复一大块代码似乎很荒谬。但是,当我尝试命名和移动该函数时,一切似乎都崩溃了 - 可能是因为范围问题和/或函数内部的 jQuery(this) 不再引用同一个对象?

任何人都可以通过发布关于我的代码应该是什么样子的一般想法来帮助我吗? (或者任何其他优化或重铸以使其工作将不胜感激!)

最佳答案

你绝对可以只定义一个函数并按名称使用它:

function someHandler(event) {
  // code code code
}

jQuery('.SearchRegions').each(someHandler);

请注意,当您通过名称引用函数时,不要包含“()”。

关于javascript - 去匿名化 jQuery 中的匿名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5095985/

相关文章:

javascript - Angular JS 将多个数组传递给scope.list

javascript - 使用 JQuery $.AJAX 调用调用 ASP.NET 函数

javascript - 哪些 JavaScript 主题对于刚接触这门语言的人来说是不能错过的?

jQuery 不显示带有 setTimeout 的内容

javascript - 输入文件 - 如果未更改,请保留以前的文件

javascript - 查找一系列 JavaScript 日期中最早的日期

javascript - 滚动到该 div 后如何使 div 固定?

javascript - JQuery 的容器结构问题 - 包含容器

javascript - Firebase 函数 getChild 值

javascript - 像推特和 Facebook 一样实现了帖子的下拉菜单