变量更改时的jQuery触发器

时间:2010-07-16 18:17:25

标签: jquery triggers

我有一个设置,我可以根据需要加载许多模块,每个模块在更改特定变量时都有特定的加载需求。我需要类似jquery触发器的东西,但是当变量发生变化时会运行,如下所示:

var x = 0; // no triggers

// something happens

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

感谢。

2 个答案:

答案 0 :(得分:4)

也许您可以创建一个包含set_x方法的对象来更改变量的值。除了更改变量之外,此方法还可以调用任何关联的触发器。

然后,您将使用此新方法而不是直接设置x

my_obj.set_x( 2 ); // Will trigger a function

答案 1 :(得分:3)

这个怎么样?

var x = {
    value: 10
}

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

所以你可以这样做:

set(x, 2);
// now x.value = 2