2013-03-01 105 views
1

在我看来,我有一个这样的事件:数字框上KEYUP不触发事件时,值为0

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事件不会触发。它可以工作所有其他时间,但不是n它是0.我需要它在值为0时工作,因为当值为0时,在updateTotal中发生的条件行为目前从未发生过。

我怎样才能得到一个触发事件,当值更改为0?一个

+1

您在此粘贴的代码不相关。我们需要查看'updateTotal'的代码。 – 2013-03-01 15:43:25

+0

我会发布它,但我的问题是函数不被解雇,而不是函数内的代码。即使该函数只是:updateTotal:function(){alert('doing stuff');}它不起作用 – richsoni 2013-03-01 15:45:02

+0

将代码添加到顶部 – richsoni 2013-03-01 15:46:53

回答

1

原来,由于某种原因,其中不正确初始化,因为.po_class的事件。尽管dom结构是正确的,但这对于值为0的元素不起作用。我删除了该类,现在它可以工作