如何在 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
});
}
};
我使用 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
});
}
};