Backbone js événement clic du bouton de pas de tir

J'ai une fonction ajax sur l'initialisation du routeur principal qui semble faire obstacle à la manifestation de mon signin bouton signin.js. Quand je signin cliquez sur le bouton, il n'a pas d'exercer sa fonction, au lieu que le navigateur endroits les entrées sur l'URL, (c'est à dire nom d'utilisateur et mot de passe).
Mais lorsque je retire l'ajax fonction de l'initialiser, je peux vous connecter.

J'ai inclus certains des codes que je suis en train de travailler sur. Grâce

main.js

initialize: function(){
    $.ajax({
      type: "GET",
      url: "something here",
      contentType: "application/json",
      headers: {
          'someVar': something here
      },
      statusCode: {
          404: function() {
              console.log('404: logged out');
              if (!this.loginView) {
                  this.loginView = new LoginView();
              }
              $('.pagewrap').html(this.loginView.el);
          },
          200: function() {
              console.log('200');
              if (!this.homeView) {
                  this.homeView = new HomeView();
              }
              $('.pagewrap').html(this.homeView.el);
          }
      }
    });
  //return false;         
},

signin.js

var SigninView = Backbone.View.extend ({
    el: '#signin-container',
    events: {
        "click #btn-signin" : "submit"
    },
    submit: function () {
        console.log('signin');
        $.ajax({ ... });
        return false;
    }
});
var toSignin = new SigninView();
window.anotherSigninView = Backbone.View.extend({
    initialize: function() {},
    render: function() {}
});

home.js

window.HomeView = Backbone.View.extend ({
    initialize: function() {
        this.render();
    },
    render: function() {
        $(this.el).html( this.template() );
        return this;
    }
});

html

<form id="signin-container">
<table id="tbl-signin">
    <tr>
        <td><div class="input-box"><input class="input-text" type="text" name="username" placeholder="Username"></div></td>
        <td><div class="input-box"><input class="input-text" type="password" name="password" placeholder="Password"></div></td>
        <td><input id="btn-signin" class="button" value="Sign In"></td>
    </tr>
    <tr>
        <td class="opt"><input class="checkbox" type="checkbox" name="rememberMe" value="true"><label class="opt-signin">Remember Me?</label></td>
        <td class="opt"><a class="opt-signin" href="#">Forgot Password?</a></td>
        <td></td>
    </tr>
 </table>
 </form>
Pouvez-vous inclure votre HomeView code ? Et où avez-vous instancier la SigninView ?
J'ai ajouté le homeView rien de fantaisie. var signinView = new SigninView(); Je l'ai placé au bas de signin.js si c'est ce que vous demandez
Si vous supprimez les deux lignes de votre ajax fonction : $('.pagewrap').html( ... ; il fonctionne toujours ?
eh bien, il va perdre de son but et je ne serais pas en mesure de tester le signin bouton comme il est dans la homeView
Désolé, je pensais que vous étiez à l'aide de <a /> liens. Ma réponse empêche liens par défaut de comportement.

OriginalL'auteur OneScrewLoose | 2014-01-27