簡體   English   中英

將按鈕按下綁定到骨干視圖事件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM