gpt4 book ai didi

jquery - 尝试使用 live()、delegate 和 bind() 提交表单

转载 作者:行者123 更新时间:2023-12-01 06:03:15 24 4
gpt4 key购买 nike

如果表单无效,我想在浏览器控制台中打印一条消息。

以下代码与bind有效:

jQuery(document).ready(function () {
$('form').bind('submit', function () {
if ($j(this).valid() == false) {
console.log("Warning: form not valid");
};
});
});

当我用提交替换绑定(bind)时,效果也很好:

$('form').submit(function () {

但是当我使用委托(delegate)时不起作用:

$('body').delegate('form', 'submit', function () {

即使live也没有成功:

$('form').live('submit', function () {

表单不是动态插入的。 live 和 delegate 不起作用的原因可能是什么?

编辑

我刚刚发现 jquery.validate.min.js 导致了这个问题。嗯,但是我怎样才能防止我自己的表单事件被阻止呢?

最佳答案

您将在 form 元素上或 formbody 之间的祖先上有另一个处理程序,这会阻止传播事件,可以通过;

  1. 调用 stopPropagation()在事件对象上
  2. 调用 stopImmediatePropagation()在事件对象上
  3. 从事件处理程序返回 false

您需要找到该处理程序并阻止它这样做。请记住,这也可能是您启用的插件的工作。

关于jquery - 尝试使用 live()、delegate 和 bind() 提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9115115/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com