我的backbone.js表单有一个textfield(没有提交按钮).我需要在视图中捕获提交事件(使用enter键).以下是示例代码.不知何故按enter键不调用submit方法.相反,该表单用于重新加载.
脚本:
- var FormView = Backbone.View.extend({
- el: '#form',events: {
- "submit": "submit",},initialize: function () {
- console.log("initialize");
- },submit: function (e) {
- e.preventDefault();
- console.log("submit");
- }
- });
- new FormView();
HTML:
- <form id="form">
- <input type="text"/>
- </form>
解决方法
将其添加到您的Backbone视图中:
- events: {
- 'submit form': 'submit'
- }
另外请注意,在HTML中,必须定义表单操作.
如果您没有定义操作,那么请执行以下操作:
- events: {
- 'keyup': 'processKey'
- }
- processKey: function(e) {
- if(e.which === 13) // enter key
- this.submit();
- }