如何在 Elementor 中向弹出窗口添加点击事件?

How can I add a click event to popup in Elementor?

我使用 WordPress 和 Elementor 页面构建器创建了一个导航菜单弹出模板。我想在单击其中包含子菜单的菜单项时淡入子菜单项并隐藏菜单。

当我将 JavaScript 代码添加到弹出窗口时(使用附加组件),eventlistener 函数不起作用,但我的代码工作正常。我在简单的页面中使用它,但不在弹出窗口本身中使用;我试过(自定义 CSS 和 JS)插件也没有用。是 Elementor 中的错误还是无法以通常的方式对弹出窗口中的元素进行 addevenlistener 工作?

代码:

const element = document.querySelector('.element');

console.log(element);  < ------------------------------here is working!!!

element.addEventListener('click', function(){
    any code in here <---------------------------------------not working !
});

我认为问题可能在于您正在使用 querySelector。它 returns 文档中与指定选择器或选择器组匹配的第一个元素。

对于 wordpress,您可以使用 jQuery 而不是纯粹的 javascript。所以你可以使用 .click。可能值得尝试使用另一种方式来实现您想要的:

( function( $ ) {
    $(document).ready(function () {
      $(".element").click(function (e) {
        e.preventDefault();
        // any code here
      });
    });
}( jQuery ) );

这里有更多信息:https://api.jquery.com/click/

但是如果你喜欢使用纯 javascript,你可以使用 for 每个元素,例如:

window.onload = function () {
  element = document.querySelectorAll(".element");
  for (var i = 0; i < element.length; i++) {
    element[i].addEventListener("click", function (e) {
        e.preventDefault();
        // any code here
    });
  }
};