我有一个网页,我已经阻止了所有提交按钮上的默认操作,但是我想在按钮上重新启用默认提交操作,我该如何做?
我目前正在使用以下方法阻止默认操作:
$("form").bind("submit", function(e){
e.preventDefault();
});
我已经使用以下方法成功地做到了这一点:
$(document).ready(function(){
$("form:not('#press')").bind("submit", function(e){
e.preventDefault();
});
但是,当按钮被单击时,我可以动态地执行此操作吗?
发布于 2009-07-22 09:45:30
您必须解除绑定事件,然后重新绑定到不执行preventDefault的单独事件,或者在解除绑定后稍后在方法中自己调用默认事件。没有神奇的event.cancelled=false;
按要求
$('form').submit( function(ev){
ev.preventDefault();
//later you decide you want to submit
$(this).unbind('submit').submit()
});
发布于 2009-07-22 10:02:21
你要么按照redsquare建议的那样使用下面的代码:
function preventDefault(e) {
e.preventDefault();
}
$("form").bind("submit", preventDefault);
// later, now switching back
$("form#foo").unbind("submit", preventDefault);
或者,只要允许提交,就分配一个表单属性。如下所示:
function preventDefault(e) {
if (event.currentTarget.allowDefault) {
return;
}
e.preventDefault();
}
$("form").bind("submit", preventDefault);
// later, now allowing submissions on the form
$("form#foo").get(0).allowDefault = true;
发布于 2011-11-20 01:48:11
function(e){ e.preventDefault();
它的对立面
function(e){ return true; }
干杯!
https://stackoverflow.com/questions/1164132
复制相似问题