试图将jQuery事件传递给模块模式函数?

时间:2016-10-19 15:00:26

标签: javascript jquery module callback module-pattern

我是第一次尝试将模块模式用于登录用户的表单。我想将提交事件传递给authenticate用户函数,但由于某种原因,验证用户函数没有运行,preventDefault()功能我已经到位进行测试没有运行,表格仍然提交了......有人可以告诉我我做错了什么吗?还是指出我正确的方向?提前谢谢!

这是我的初始代码和方法:

var Login = (function(){
  var form;

  var init = function (formId) {
    form = formId;
    return form;
  }

  var authenticate = function(e) {
    console.log(e)
    e.preventDefault();
  }

  return {
    init: init,
    authenticate: authenticate
  }
})();

$(function(){
  var mainLogin = Login.init( $("form#login-form") );
  mainLogin.submit( mainLogin.authenticate )
});

获得反馈后,我认为我需要构造函数模式,因为我想使这种方法模块化,以便它可以使用任何登录表单:

var Login = function(form){
  this.form = form;

  var authenticate = function(e) {
    console.log(e)
    e.preventDefault();
  }

  return {
    form: form,
    authenticate: authenticate
  }
};

$(function(){
  var mainLogin = new Login($("form#login-form"));
  mainLogin.form.submit( mainLogin.authenticate );
});

这是一种更好的方法吗?

0 个答案:

没有答案