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".


Popular posts from this blog

How to calculate SNR of signals in MATLAB? -

c# - Attempting to upload to FTP: System.Net.WebException: System error -

ios - UISlider customization: how to properly add shadow to custom knob image -