事件触发条件

    一个需要注意的问题是,事件的触发总是由用户操作引发的。例如,我们监控文本框的内容改动:

    var input = $('#test-input');

    input.change(function () {

    console.log('changed…');

    });

    当用户在文本框中输入时,就会触发 change 事件。但是,如果用JavaScript代码去改动文本框的值,将 不会 触发 change 事件:

    var input = $('#test-input');

    input.val('change it!'); // 无法触发change事件

    有些时候,我们希望用代码触发 change 事件,可以直接调用无参数的 change() 方法来触发该事件:

    var input = $('#test-input');

    input.val('change it!');

    input.change(); // 触发change事件

    input.change() 相当于 input.trigger('change') ,它是 trigger() 方法的简写。

    为什么我们希望手动触发一个事件呢?如果不这么做,很多时候,我们就得写两份一模一样的代码。