Backbone js:更改事件破坏点击事件

时间:2013-05-17 14:55:54

标签: events backbone.js

我有一个包含textarea和'COMMIT'按钮的字段的订单。字段是自动保存的,即字段值更改的时刻,它将保存到数据库中。 COMMIT按钮将订单的状态更改为“已提交”,同时也保存。

当用户输入textarea时会出现问题,然后在不离开字段的情况下点击“COMMIT”。触发了textarea的更改事件,但这似乎打败了按钮单击。我必须再次单击COMMIT按钮。

我怎样才能让这两件事都发生? (它们需要独立激发,因为用户可以自由编辑字段并单击COMMIT但是她选择。我确定不能让updateInstructions方法直接触发提交!)

代码:

events: {
    "change textarea"       : "updateInstructions",
    "click .btnCommit"      : "btnCommit",
},

updateInstructions: function(e){
    var target = $(e.currentTarget),
        name = target.attr('name'),
        value = target.val(),
        data = {};
    data[name] = value;
    this.model.save(data, {
        success: function(model, response){
            //handle response
        },
        wait: true,
        patch: true
    });
},
btnCommit: function(e){
    e.preventDefault();
this.updateOrderStatus(this.ORDER_STATUS_SUBMITTED);
},

1 个答案:

答案 0 :(得分:0)

不使用事件中的更改,而是使用模糊 像这样,我认为这就足够了。

events: {
    "blur textarea"       : "updateInstructions",
    "click .btnCommit"      : "btnCommit",
},