我在一个对象中有一个对象,该对象包含一个值为 jQuery 函数的属性:
var fields = {
id: {},
timeStarted: {},
duration: {},
status: {},
name: {
field: $("#companyName"),
changeEvent: $("#companyName").on("click", function(){
alert("bazinga!");
})
}
};
我还有另一个函数,它遍历在其中找到的所有值fields
并尝试注册更改事件:
function registerChangeEvents(){
$.each(fields, function(field, v){
$.each(v, function(prop, vv){
// check which property the loop is on: if changeEvent
if (prop == "changeEvent"){
vv();
}
});
});
}
但是,当我运行registerChangeEvents()
时,控制台返回Uncaught TypeError: object is not a function
. changeEvent
我可以用 a包装它的值,function(){...}
这将使它成为一个可以正常运行的函数。不过,出于某种原因,这似乎不是正确的方法。
如果您有任何想法,请告诉我。
谢谢。