1

私の見解では、次のようなイベントがあります。

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 の場合は機能しません。updateTotal で発生する条件付き動作があるため、値が 0 のときに機能する必要があります。値が 0 の場合、現在発生することはありません。

値が 0 に変化したときにイベントを発生させるにはどうすればよいですか?

4

1 に答える 1

1

何らかの理由で、.po_class が原因でイベントが適切に初期化されていないことが判明しました。dom 構造は正しいのですが、値が 0 の要素では機能しませんでした。そのクラスを削除しましたが、動作するようになりました

于 2013-03-01T16:19:00.683 に答える