骨干js按钮单击事件未触发

松散

我在主路由器的初始化上有一个Ajax函数,它似乎阻碍了我的登录按钮的事件signin.js当我单击登录按钮时,它不执行其功能,而是浏览器将输入内容放置在URL(即用户名和密码)上。但是,当我删除初始化上的ajax函数时,我可以成功登录。

我已经包含了一些我正在研究的代码。谢谢

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>
里达·本汉曼(Rida BENHAMMANE)

好的,我知道您的问题是什么:)

这是恢复代码jsfiddle.net/26xf4/6的示例问题在于您不打电话new SigninView(); (实例化视图),因此它的事件永远不会受到约束。

因此,在此示例中,尝试取消对ligne 43的注释,并且您的代码将按预期工作,因为在实例化View时,(new SigninView())其构造函数会调用该delegateEvents()函数(您在代码中看不到该代码,它在ribs.js中),从而启用了您在视图中声明的事件:

events: {
    "click #btn-signin" : "submit"
},

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

骨干Js-无法触发按钮单击事件

来自分类Dev

按钮单击事件未触发

来自分类Dev

按钮单击事件未触发

来自分类Dev

Backbone.js / Handlebars按钮单击事件未触发

来自分类Dev

jQuery按钮单击事件未触发

来自分类Dev

单击时未触发angularjs按钮事件

来自分类Dev

Fragment 中未触发按钮单击事件

来自分类Dev

骨干滚动事件未触发

来自分类Dev

骨干Subview事件未触发

来自分类Dev

骨干JS按钮单击事件不起作用

来自分类Dev

骨干收集“添加”事件未触发

来自分类Dev

骨干子视图事件未触发

来自分类Dev

骨干子视图事件未触发

来自分类Dev

ng-click事件未触发按钮单击?

来自分类Dev

即使未单击按钮,也会触发click事件

来自分类Dev

计时器事件未触发按钮单击

来自分类Dev

计时器事件未触发按钮单击

来自分类Dev

弹出窗口中未触发按钮单击事件

来自分类Dev

单击时未触发事件

来自分类Dev

添加tween.js后不会触发按钮单击事件

来自分类Dev

按钮OnClick()事件未触发

来自分类Dev

表单按钮事件未触发

来自分类Dev

单选按钮事件未触发

来自分类Dev

UWP按钮未触发事件

来自分类Dev

单击事件触发而无需单击按钮

来自分类Dev

将按钮移动到asp:content后未触发按钮单击事件

来自分类Dev

骨干网视图事件未触发差异

来自分类Dev

Windows Store App按钮单击事件未使用网格模板触发

来自分类Dev

Windows Store App按钮单击事件未使用网格模板触发