オブジェクト内に、値が 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(){...}
ます。これにより、正常に実行される関数になります。ただし、何らかの理由で、それは正しいアプローチとは思えません。
何かアイデアがあれば教えてください。
ありがとう。