我的通用外部文件document.ready()
带有$('form').submit()
操作,但是,我想在我的一个文件中覆盖此操作,其中包含document.ready()
。
换句话说,我希望我的内部document.ready()
应该在$('form').submit()
工作之前对表单进行额外检查。
答案 0 :(得分:0)
在您的内部代码中,您可以尝试停止submit
事件的即时传播:
$(function () {
$('form').on('submit.immediate', function (event) {
event.stopImmediatePropagation();
});
});
然后,当您希望表单能够再次提交时,您可以删除此绑定:
$('form').off('submit.immediate');
这只会删除附加submit
命名空间的immediate
事件处理程序,因此其他绑定将保持不变。
完全有可能我不太了解你的问题。您可能只需要将一个事件处理程序绑定到停止其发送能力的表单,直到您决定发送它们为止:
$(function () {
$('form').on('submit.immediate', function (event) {
event.preventDefault();
});
});
event.preventDefault()
将停止提交表单,然后您可以在提交表单后删除此事件处理程序。
请注意,.on()
/ .off()
是jQuery 1.7中的新功能,上面使用的案例与.bind()
/ .unbind()
相同:http://api.jquery.com/on,{ {3}}
event.stopImmediatePropagation()
的文档:
保持其余的处理程序不被执行并阻止 冒泡DOM树的事件。
答案 1 :(得分:0)
我的方法是:
var formActions = new function() {
this.form = $('form');
this.doStuff = function() {
//Do Stuff
//If you got more than one form
$.each("this.form", function(i, v) {
//PlayWithForm
})
this.submit();
};
this.submit = function () {
this.form.trigger( "submit");
}
}
$.fn.ready(function() {
formActions.doStuff();
})