Jquery 举办活动&x2019;用变量表示的s函数

Jquery 举办活动&x2019;用变量表示的s函数,jquery,Jquery,这没问题。在infoRepNames中,在DMRep999“以“;”分隔”之前,“DMRep001”中有0到n个函数名。每次我去掉一个函数名,当infoRepNames中只有一个名称“DMRep002”并且我在命令中字面上使用名称“DMRep002”时,上面的代码就会工作 然而,当我将对“DMRep002”的直接调用替换为“infoRepName”时,我从firebug得到了一条消息:“uncaughtypererror:对象DMRap002没有方法‘apply’” 说清楚一点:我改变了路线 w

这没问题。在infoRepNames中,在DMRep999“以“;”分隔”之前,“DMRep001”中有0到n个函数名。每次我去掉一个函数名,当infoRepNames中只有一个名称“DMRep002”并且我在命令中字面上使用名称“DMRep002”时,上面的代码就会工作

然而,当我将对“DMRep002”的直接调用替换为“infoRepName”时,我从firebug得到了一条消息:“uncaughtypererror:对象DMRap002没有方法‘apply’”

说清楚一点:我改变了路线

while (infoRepNames.length > 0) {
   infoRepName = infoRepNames.substr(0,8);
   $('.' + infoRepName).on('click', DMRep002).css({'font-size': '1em', 'font-weight': 900});
   infoRepNames = infoRepNames.substr(9);
}
进入

函数是对不同形式的调用。我现在有大约500种不同的表格。
有没有办法用这么多不同的函数来动态处理上述问题

将函数存储在对象中:

$('.' + infoRepName).on('click', infoRepName).css({'font-size': '1em', 'font-weight': 900});
然后您可以将其称为:

var funcs = {
  DMRep001 : function(){ ... },
  DMRep002 : function(){ ... },
  ...
  DMRep999 : function(){ ... }
};

尽管我在使用所有这些不同的处理程序时感觉到了一些反模式。

它需要是一个函数引用,但
infoRepName
是一个字符串。
var funcs = {
  DMRep001 : function(){ ... },
  DMRep002 : function(){ ... },
  ...
  DMRep999 : function(){ ... }
};
$('.' + infoRepName).on('click', funcs[infoRepName]);