当值为0时,数字框不会在keyup上触发事件

时间:2013-03-01 15:41:03

标签: javascript javascript-events backbone.js

在我看来,我有这样的事件:

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

haml JSHTML是:

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

以下是更新

的代码
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时,如何触发事件?

1 个答案:

答案 0 :(得分:1)

事实证明,由于某种原因,由于.po_class而没有正确初始化的事件。尽管dom结构是正确的,但这对于值为0的元素不起作用。我删除了那个类,现在它可以工作了