如何获取在 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 的任何元素。你的问题就是这种情况。
我们在我们的一个 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 的任何元素。你的问题就是这种情况。