backbone.js 值为0时,数字框在keyup时不触发事件

wz1wpwve  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(143)

在我看来我有这样一个事件:

events: {
      'click .po_total .updates_total': 'updateTotal',
      'focusout .po_total .updates_total': 'updateTotal',
      'keyup .po_total .updates_total': 'updateTotal'
}

哈默尔的JSHTML是:

%input.span2#shipping.updates_total{type: "number", name: "shipping", min: "0.00", step: "0.01", value: "0.00"}

下面是Update的代码:

updateTotal: function(e) {
  if(e){
    e.preventDefault();
    e.stopImmediatePropagation();
  }
  this.$el.find('.po_total #total').html(this.getOrderTotal());

  if (Application.Helpers.currencyToValue(this.$('#total').html()) > 0 ) {
    this.watchTotal(e);
  }
},

问题在于,当值更改为0时,updateTotal事件不会触发。它在所有其他时间都有效,但在值为0时无效。我需要它在值为0时有效,因为当值为0时,updateTotal中会发生一些条件行为,而这些行为目前从未发生过。
如何在值更改为0时触发事件?

dojqjjoe

dojqjjoe1#

事实证明,由于某些原因,事件没有被正确初始化,因为.po_class。虽然dom结构是正确的,但它不适用于值为0的元素。我删除了那个类,现在它工作了

相关问题