【发布时间】:2013-07-29 10:49:08
【问题描述】:
我在我网站的一个页面上开发了一个非常简单的 Backbone 应用程序,但遇到了表单问题。
我有一个列表(项目集合),当我点击一个项目的名称时,它会被一个表单替换。
当我编辑名称并按 Enter 时,它可以正常工作,但我找不到以下解决方案: - 如果我按“esc”键或更好,则在页面上的任何其他位置转义表单 - 当我按下回车键时保存我的项目,当我没有修改文本时。
现在,当我单击一个项目并加载表单时,如果我想退出 for,我不得不更改名称并按 enter。
这是我的编辑表单 Backbone 视图:
var EditForm = Backbone.View.extend({
model: Item,
template: _.template('<form>' +
'<input name=name value="<%= name %>" />' +
'</form>'),
events: {
submit: 'save'
},
save: function(e){
e.preventDefault();
var newName = this.$('input[name=name]').val();
this.model.set({name: newName});
this.model.save();
},
render: function(){
this.$el.html(this.template(this.model.attributes));
return this;
}
});
如果有人已经实现了,我将非常感谢有一个例子。
谢谢
【问题讨论】: