Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在事件之后复制事件。preventDefault()_Javascript_Jquery - Fatal编程技术网

Javascript 在事件之后复制事件。preventDefault()

Javascript 在事件之后复制事件。preventDefault(),javascript,jquery,Javascript,Jquery,我正在尝试在表单提交时添加ajax请求。它是有效的:) 但问题是,当我第二次点击Submit按钮时,事件会发生两次,而当我下次点击按钮时,事件会发生三次,以此类推 为什么会发生多次?找不到任何相关信息 函数saveActivityJobData(发送方){ var elem=sender.parentNode.parentNode; $(元素).提交(功能(事件){ console.log(“表单已提交!”); event.preventDefault(); }); } 此语法将函数绑定到提交事

我正在尝试在表单提交时添加ajax请求。它是有效的:)

但问题是,当我第二次点击
Submit
按钮时,事件会发生两次,而当我下次点击按钮时,事件会发生三次,以此类推

为什么会发生多次?找不到任何相关信息

函数saveActivityJobData(发送方){
var elem=sender.parentNode.parentNode;
$(元素).提交(功能(事件){
console.log(“表单已提交!”);
event.preventDefault();
});
}

此语法将函数绑定到提交事件, $(元素)。提交(函数…)

检查是否多次调用saveActivityJobData函数, 每次执行此操作时,都会将另一个函数绑定到submit事件

您应该只使用$(elem).submit,一旦将函数绑定到提交事件,请尝试:

   function saveActivityJobData(sender) {
       var elem = sender.parentNode.parentNode;
        $(elem).submit(function(event){
          event.preventDefault();
          if (event.handled !== true) {
            event.handled = true;
            console.log("form submitted!");
          }
        });
    }

因为我猜您多次调用
saveActivityJobData()
(可能是在单击提交按钮时),每次提交事件都会绑定。但是因为您没有提供任何关于如何调用此方法的信息,我只是猜测…。@A.Wolff谢谢,太愚蠢了:)是的,问题是我多次绑定处理程序-onclick,soo stupidI不要多次修改它,尝试一下,并解释为什么它应该使用这部分代码多次提交?在每次调用函数时,您仍然会在浏览器中绑定一个提交事件。所以,这根本不是一个好办法。很抱歉。