Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Events 主干js:更改事件关闭单击事件_Events_Backbone.js - Fatal编程技术网

Events 主干js:更改事件关闭单击事件

Events 主干js:更改事件关闭单击事件,events,backbone.js,Events,Backbone.js,我有一个订单表单,其中包含一个文本区域和一个“提交”按钮。字段是自动保存的,即当字段的值更改时,它会保存到数据库中。提交按钮将订单状态更改为“已提交”,并保存该状态 当用户输入文本区域,然后在不离开字段的情况下单击“提交”时,就会出现问题。textarea的更改事件被触发,但这似乎阻止了按钮的单击。我必须再次单击“提交”按钮 我怎样才能使这两个事件同时发生?它们需要独立启动,因为用户可以自由编辑字段并按自己的选择单击提交。我肯定不能让updateInstructions方法直接触发提交 德科兹:

我有一个订单表单,其中包含一个文本区域和一个“提交”按钮。字段是自动保存的,即当字段的值更改时,它会保存到数据库中。提交按钮将订单状态更改为“已提交”,并保存该状态

当用户输入文本区域,然后在不离开字段的情况下单击“提交”时,就会出现问题。textarea的更改事件被触发,但这似乎阻止了按钮的单击。我必须再次单击“提交”按钮

我怎样才能使这两个事件同时发生?它们需要独立启动,因为用户可以自由编辑字段并按自己的选择单击提交。我肯定不能让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);
},

在事件中使用更改之前,请使用模糊 像这样,我想这就足够了

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

谢谢你的回复。我们似乎已经远离了用户交互模型。