这可能是一个非常简单的问题,但它让我摸不着头脑,所以我把它贴在这里。
我有以下形式的一些 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/