如何获取在 DOM 而不是在源代码中看到的表单元素?

How to get form element seen in DOM and not in source code?

我们在我们的一个 Drupal 安装上使用 marketo 表单,我试图在单击按钮时添加一个单击事件。但是当我查看源代码时,我看不到 from element 。不过,我可以在 DOM 检查器上看到它。

这是我在查看源码上看到的。

<form class="marketo-form-wrapper"
  data-formid="####"
  data-campaign="######"
  data-file="####"
 id="####">

附上检查元素截图。

无论我做什么我都无法在点击提交按钮时调用点击函数。 我可以做到这一点

$('.marketo-form-wrapper').click(function (e)  {          
 console.log('clicked');});

我不希望在用户单击表单包装器时调用此函数。我希望在单击实际按钮时调用它。

如果我这样做,什么也不会出现。

$('.marketo-form-wrapper .mktoButtonRow:button').click(函数 (e) {<br> console.log('clicked');});

使用委托选择器。

$('.marketo-form-wrapper').on("click",".mktoButton",function(){
    console.log("clicked");
});

这会将点击处理程序应用于在 DOM 加载后添加的 .marketo-form-wrapper class 内具有 .mktoButton class 的任何元素。你的问题就是这种情况。