我是第一次尝试将模块模式用于登录用户的表单。我想将提交事件传递给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 );
});
这是一种更好的方法吗?