两个在表单上提交事件处理程序。一个人必须停止另一个
我必须将事件处理程序附加到表单上。如果不满足条件,第一个触发的应该停止另一个事件。
下面的代码不起作用,因为两个事件都将被触发。你能帮助我吗?
谢谢!
//fires first
$("#myform").submit(function(){
if (some validation) {
alert("You need to make the form valid");
return false;
}
});
//fires second
$("#myform").submit(function(){
//ajax stuff
return false;
});
附:我必须这样,因为ajax的东西是在一个不可更改的插件中。我无法避免两个事件处理程序
没有找到相关结果
已邀请:
2 个回复
芯伶句餐绕
: 保持其余的处理程序不被执行,并防止事件冒泡DOM树。
您可能还想使用
。 更新:只是为了澄清:您可以依赖调用事件处理程序的顺序。从jQuery的
方法: 当事件到达元素时,将触发绑定到该元素的该事件类型的所有处理程序。如果注册了多个处理程序,它们将始终按照绑定的顺序执行。在执行所有处理程序之后,事件沿着正常事件传播路径继续。 订单可能没有在W3C的原始定义中定义,但它适用于jQuery。否则,无论如何都不需要上面提到的函数;)
傻寺俊擒
,那么你可以用它来同步你的处理程序。例如,如果您使用以下命令启动每个处理函数:
然后只会调用两个处理程序中的一个。您可以轻松地修改它以匹配某些条件,或处理两个以上的功能。 另一种方法是研究事件传播模型。这个页面将为您提供所需的所有信息,尽管Felix已经提到了一个可能做你想做的ajax命令。