4

I have a setup where i load many modules as required, each module has a specific load needs when a specific variable is changed. I need something like jquery trigger but that runs when a variable change, something like this:

var x = 0; // no triggers

// something happens

x = 1; // will trigger a function
x = 2; // will trigger the same function

Thanks.

Rodrigo
  • 2,040
  • 2
  • 20
  • 24

2 Answers2

5

Perhaps you could create an object that contains a set_x method to change the value of the variable. In addition to changing the variable, this method could call any associated triggers.

Then instead of setting x directly, you would use this new method:

my_obj.set_x( 2 ); // Will trigger a function
Justin Ethier
  • 122,367
  • 49
  • 219
  • 273
4

How about this?

var x = {
    value: 10
}

var set = function(obj, new_value) {
    obj.value = new_value;
    /* call whatever your heart desires here */
}

So you can do:

set(x, 2);
// now x.value = 2
TJ Koblentz
  • 6,618
  • 1
  • 14
  • 16