jqueryonsubmit对象表单

jqueryonsubmit对象表单,jquery,object,onsubmit,Jquery,Object,Onsubmit,基本上,我试图创建一个对象来处理基本的ajax登录表单。每次提交表单时,控制台都应该记录“form”,但此时它只在表单加载时执行一次。 我做错了什么 这是密码 Login = { init: function () { var $self = this; $('form').on('submit', $self.on_submit()); }, on_submit: function () { console.log('

基本上,我试图创建一个对象来处理基本的ajax登录表单。每次提交表单时,控制台都应该记录“form”,但此时它只在表单加载时执行一次。 我做错了什么

这是密码

Login = {

    init: function () {
        var $self = this;
        $('form').on('submit', $self.on_submit());

    },
    on_submit: function () {
        console.log('form');
        return false;
    },
    do_login: function () {
        console.log('login');
    }

}

$(document).ready(function () {

    Login.init();

});
这是测试URL

谢谢

错误在这里:

$('form').on('submit', $self.on_submit());
$('form').on('submit', $self.on_submit);
正确的方法:

$('form').on('submit', $self.on_submit);
您正在执行函数调用,而不是分配事件处理程序

这是on_submit(即false)的返回值,不是函数。做:

.on('submit', $self.on_submit);

如果需要传递参数

.on('submit', $self.on_submit);
.on('submit', function() { $self.on_submit(args); });