onchange javascript变量

4 javascript variables jquery onchange

如果javascript变量使用jQuery更改值,有没有办法调用javascript函数?

到目前为止的东西 -

var test = 1;
test = 2; // calls a javascript function
test = 3; // calls a javascript function
Run Code Online (Sandbox Code Playgroud)

这样我就不必将onchange事件添加到这么多不同的函数中.

Joe*_*l L 16

(如果你需要这样的功能,你的代码似乎有点粗心计划了)

添加该功能的最简单方法是创建一个更新变量的函数,该函数还调用您想要的任何其他函数.

代替:

var test = 1;
test = 2; // calls a javascript function
test = 3; // calls a javascript function
Run Code Online (Sandbox Code Playgroud)

你做:

var test = 1;

function set_test(newval) {
  test = newval;
  my_callback(); // this is whatever you wanted to call onChange
}

set_test(2);
set_test(3);
Run Code Online (Sandbox Code Playgroud)


gon*_*vis 6

试试这个,这是真正的变量更改事件:

var book = {
    _year: 2004,
    edition: 1
};
Object.defineProperty(book, "year", {
    get: function(){
        return this._year;
    },
    set: function(newValue){
        this._year=newValue;
        this.edition=newValue-2004;
        alert(this._year);
        alert(this.edition);
    }
});

book.year=2017
// will alert 2017 and 13
Run Code Online (Sandbox Code Playgroud)


sli*_*kts 2

不,没有,只是用setIntervalsetTimeout或 回调进行轮询。事件仅适用于 DOM。我建议您尝试使用回调并执行以下操作:

function foo(data, callback)
{
    // do things with data
    callback(data);
}

function bar(data)
{
    console.log('callback can has', data);
}

foo('baz', bar);
Run Code Online (Sandbox Code Playgroud)

这是一个粗略的例子,但应该可以给你一个想法。