javascript - jQuery function as a property value of an object -
i have object within object contains property value jquery function:
var fields = {     id: {},     timestarted: {},     duration: {},     status: {},     name: {         field: $("#companyname"),         changeevent: $("#companyname").on("click", function(){             alert("bazinga!");         })     } }; i have function goes through values found within fields , tries register change events:
function registerchangeevents(){     $.each(fields, function(field, v){         $.each(v, function(prop, vv){             // check property loop on: if changeevent             if (prop == "changeevent"){                 vv();             }         });     }); } when run registerchangeevents() however, console returns uncaught typeerror: object not function. can wrap value of changeevent function(){...} , make function run fine. reason doesn't seem right approach, though. 
please let me know if have ideas.
thanks.
when have this:
changeevent: $("#companyname").on("click", function(){     alert("bazinga!"); }) the code executed , result of .on() original selected objects...which $("#companyname"). changeevent set jquery object, containing element id "companyname".
i change name be:
name: {     field: "#companyname",     changeevent: function(){         alert("bazinga!");     } } and change function be:
function registerchangeevents(){     $.each(fields, function(prop, v){         var field, changeevent;         $.each(v, function(propp, vv){             if (propp === "field") field = vv;             if (propp === "changeevent") changeevent = vv;         });         if (field && changeevent) $(field).on("change", changeevent);     }); } i'm confused 1 thing - call "changeevent", event in original code "click".