event.preventDefault()之后复制事件

时间:2016-06-21 08:50:49

标签: javascript jquery

我正在尝试在表单提交上添加ajax请求。它的工作原理:)

但问题是当我第二次按下Submit按钮时 - 事件发生两次,当我下次按下按钮时 - 事件发生三次,依此类推。

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

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

2 个答案:

答案 0 :(得分:0)

此语法将函数绑定到submit事件, $(ELEM).submit(FUNC ...)

检查你是否多次调用saveActivityJobData函数, 每次你都将另一个函数绑定到提交事件

你应该只使用$(elem).submit,一次将函数绑定到提交事件

答案 1 :(得分:0)

试一试:

   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!");
          }
        });
    }