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