[英]Binding a button press to a Backbone view event
我有一个非常简单的表格
<div id="formQuickRegister">
<form>
<fieldset>
<input id="inputUserName" type="text" placeholder="Username"><br>
<input id="inputUserEmail" type="text" placeholder="Email"><br>
<input id="inputUserPassword" type="password" placeholder="Password"><br>
<button id="btnRegisterNow">Register Now</button>
</fieldset>
</form>
</div>
我在渲染的主干上有一个视图,并附加了一个事件
define(['text!templates/index.html', 'account'], function (templateIndex, account){
var viewIndex = Backbone.View.extend({
el: $('#content'),
render: function() {
this.$el.html(templateIndex);
},
events: {
'submit form': 'register'
},
register: function () {
event.preventDefault();
userToRegister = new account.userModel;
userToRegister.set('username', $('#formQuickRegister fieldset input#inputUserName').val() );
userToRegister.set('email', $('#formQuickRegister fieldset input#inputUserEmail').val() );
userToRegister.set('password', $('#formQuickRegister fieldset input#inputUserPassword').val() );
account.quickRegister ( userToRegister);
}
});
return new viewIndex;
});
如果在事件中寻找“提交表单”,则可以捕获事件并处理代码。 我想在事件中做的就是能够捕获表单的“提交”按钮,例如:
events: { 'click input#btnRegisterNow': 'register'}
但是此示例不起作用,并且我尝试了多次切割,但均未成功。 您能指出我的sintax来点击该#btnRegisterNow按钮吗?
谢谢
您的选择器有误。 应该只是:
events: {
'click #btnRegisterNow': 'register'
}
在模板中, btnRegisterNow
是HTML <button>
但是选择器正在寻找ID为btnRegisterNow
的<input>
标记。 您也可以使用button#btnRegisterNow
但由于ID在文档中应该是唯一的,因此将标记名放在选择器中是多余的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.