jQuery - autoNumeric 插件,从 .autoNumeric('set', value) 自动触发 .change()

jQuery - autoNumeric plugin, fire .change() automatically from .autoNumeric('set', value)

我正在使用 autoNumeric jQuery plugin。我想让 .autoNumeric('set', value) 方法自动调用 .change() 事件。

我有以下代码:

$(document).ready(function ($) {

    $("#baseCost").change(function() {
        var total = ...; // calculation removed for code brevity
        $("#totalCost").autoNumeric('set', total);
    });

    $("#totalCost").change(function() {
        // this code does not fire when the set above is called
    });

});

我该如何完成?

更新: 在 autoNumeric.js 文件中,我找到了这个(在 set 内):

if ($input) {
    return $this.val(value);
}

鉴于在我的例子中 $input 设置为 true,我不明白为什么这个 .val() 没有触发我页面上的 .change()

我没有意识到 .val() 默认情况下不会触发 .change()。具体来说,对于我的问题,以下是 autoNumeric.js 中的技巧:

if ($input) {
    if ($this.val(value)) {
        return $this.trigger("change");
    }
    return false;
}

有关详细信息,请参阅 this answer