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

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

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

  1. events: {
  2. 'click .po_total .updates_total': 'updateTotal',
  3. 'focusout .po_total .updates_total': 'updateTotal',
  4. 'keyup .po_total .updates_total': 'updateTotal'
  5. }

哈默尔的JSHTML是:

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

下面是Update的代码:

  1. updateTotal: function(e) {
  2. if(e){
  3. e.preventDefault();
  4. e.stopImmediatePropagation();
  5. }
  6. this.$el.find('.po_total #total').html(this.getOrderTotal());
  7. if (Application.Helpers.currencyToValue(this.$('#total').html()) > 0 ) {
  8. this.watchTotal(e);
  9. }
  10. },

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

dojqjjoe

dojqjjoe1#

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

相关问题