Javascript 拦截动态添加的表单提交

Javascript 拦截动态添加的表单提交,javascript,jquery,Javascript,Jquery,可以找到正常表单提交截取。但是,我的班级不同。表单在调用函数后动态添加。然后,无法捕获表单提交 如何像这样捕获表单提交?最好使用Jquery,但可以更改动态添加的表单属性。 下面是一个例子。 下面是我如何捕获表单提交的 $(function() { $(".formClass").submit(function(e) { e.preventDefault(); var actionurl = e.currentTarget.action; alert(

可以找到正常表单提交截取。但是,我的班级不同。表单在调用函数后动态添加。然后,无法捕获表单提交

如何像这样捕获表单提交?最好使用Jquery,但可以更改动态添加的表单属性。

下面是一个例子。 下面是我如何捕获表单提交的

$(function() {
    $(".formClass").submit(function(e) {
      e.preventDefault();
      var actionurl = e.currentTarget.action;
      alert(actionurl);
    });
});
下面是调用函数-eObj.getFormElement()后如何添加表单

(函数($){
功能(eObj){
var选择器=“#abc”;
//调用函数以获取表单元素
getFormElement(langObj,函数(err,x){
var elem=“
    ”;
    对于(var i=0;i),由于不能为不存在的元素设置事件,所以需要为存在的元素设置事件

    在这种情况下,您可以使用
    document
    获取事件

    下面是一个示例代码

    $(document).on("submit",function(e){
        if($(e.target).hasClass("formClass")){
            e.preventDefault();
            console.log("you can catch the event!");
            //and do whatever you want.
        }
    });
    
    为文档设置一个事件,每当发生任何
    submit
    事件时,请检查它是否是您的目标表单。然后,如果它是您的目标表单,请执行任何操作

    已编辑 正如@charlietfl所提到的,您可以对函数的参数使用额外的
    ,而不是
    if
    语句

    代码类似于

    $(document).on("submit",".formClass",function(e){
          e.preventDefault();
          console.log("you can catch the event!");
          //and do whatever you want.
    }); 
    

    上缺少
    的目标选择器参数,不需要
    如果
    当您使用目标选择器或银行进行评论时,更新了答案。这就是为什么我确实很欣赏stackoverflow的原因看起来我不能做任何我想做的事情。我想在捕获事件后提交表单。我最终进入了一个循环。然后不做任何事情I don’t prevent default只是做你想做的事情。在那之后,事件自动冒泡并最终提交。我最终更改了事件捕获。但是,使用相同的想法。我捕获提交按钮单击事件并使用该事件获取表单。这样,我避免了循环。
    $(document).on("submit",".formClass",function(e){
          e.preventDefault();
          console.log("you can catch the event!");
          //and do whatever you want.
    });