我正在循环一个JSON对象,我想根据JSON对象中指定的函数设置字段的点击次数。通过window []调用的函数将被参数化而不是硬编码。
for (var key in JSONOBJ) {
func = window["minRule"](this);
$('#'+ key).click(func);
}
被调用的函数是
function minRule(elem){
alert(elem.name);
}
我希望它适用于
<input type='text' name='FIELDINJSONOBJECT' id='FIELDINJSONOBJECT'/>
然而,当我刷新页面时,由于某种原因正在调用该函数,并且没有绑定到该单击。警报(elem.name)也返回undefined。如何将此参数作为参数传递给使用window [$ FUNCTIONAME]
调用的函数此致 汤姆
答案 0 :(得分:0)
我认为你在寻找的是
$.each(JSONOBJ, function(key, value){
$('#'+ key).click(function(){
window["minRule"](value);
});
})
在您的情况下,您在循环中使用参数minRule
调用函数this
,其中它指向当前函数范围及其返回的值(在本例中为undefined
as click
处理程序),这就是它无法正常工作的原因