Javascript 通过jQuery提交表单时未触发动态绑定事件

Javascript 通过jQuery提交表单时未触发动态绑定事件,javascript,jquery,Javascript,Jquery,我有以下代码来捕获页面中所有表单的数据。事件是动态绑定的 formCapture: function () { console.log("formCapture"); var formsCollection = document.getElementsByTagName("form"); console.log(formsCollection); for (var i = 0; i < formsCollection.length; i++)

我有以下代码来捕获页面中所有表单的数据。事件是动态绑定的

formCapture: function () {
      console.log("formCapture");
      var formsCollection = document.getElementsByTagName("form");
      console.log(formsCollection);
      for (var i = 0; i < formsCollection.length; i++) {
        this.bindEvent(formsCollection[i]);
      }
    },

    bindEvent: function (formElement) {
      console.log("bindEvent");
      var $this = this;
      if (formElement.addEventListener) {
        formElement.addEventListener('submit', function (e) {
           $this.collectData(e, $this)
        }, false);
      }
    },

    collectData: function (e, that) {
      // save form data here
    }
其中,
#测试表单
是表单名称,
#表单提交
是提交按钮的id,绑定到它的
收集数据
功能将不会启动


有没有一种方法可以在不中断表单流的情况下从表单中获取数据?

您不应该只使用提交功能,而应该像以下那样触发提交:
jQuery(“#测试表单”).trigger('submit')

尝试设置
useCapturing
标志(传递给
addEventListener
的布尔值)
true
。已尝试。但没用,那部分不在我的控制之下。表格可以以任何可能的方式提交。正常提交或使用jQuery。
jQuery("#form-submit").on("click",function(e){
    e.preventDefault();
    jQuery("#test-form").submit();
    console.log("form has been submitted");
    window.location = "https://example.com";
  })