Javascript 如何将单击事件添加到Elementor中的弹出窗口?
使用WordPress和Elementor页面生成器,我创建了一个navmenu弹出式模板。我希望在单击包含子菜单的菜单项时淡入子菜单项并隐藏菜单 当我向弹出窗口添加JavaScript代码(使用附加组件)时,eventlistener函数不起作用,但我的代码工作正常。我在简单的页面中使用它,但不在弹出窗口中使用它;我尝试了(自定义CSS和JS)插件,但也没有成功。这是Elementor中的一个bug还是AddEventListener不能以通常的方式为弹出窗口中的元素工作 代码:Javascript 如何将单击事件添加到Elementor中的弹出窗口?,javascript,wordpress,popup,elementor,Javascript,Wordpress,Popup,Elementor,使用WordPress和Elementor页面生成器,我创建了一个navmenu弹出式模板。我希望在单击包含子菜单的菜单项时淡入子菜单项并隐藏菜单 当我向弹出窗口添加JavaScript代码(使用附加组件)时,eventlistener函数不起作用,但我的代码工作正常。我在简单的页面中使用它,但不在弹出窗口中使用它;我尝试了(自定义CSS和JS)插件,但也没有成功。这是Elementor中的一个bug还是AddEventListener不能以通常的方式为弹出窗口中的元素工作 代码: const
const element = document.querySelector('.element');
console.log(element); < ------------------------------here is working!!!
element.addEventListener('click', function(){
any code in here <---------------------------------------not working !
});
const-element=document.querySelector('.element');
console.log(元素);<------------------------------这里正在工作!!!
元素。addEventListener('click',function(){
这里的任何代码我认为问题可能是,您正在使用querySelector
。它返回文档中与指定选择器或选择器组匹配的第一个元素
使用wordpress,您可以使用jQuery而不是纯javascript。因此,您可以使用。单击。使用另一种方法来实现您的目标可能值得一试:
( function( $ ) {
$(document).ready(function () {
$(".element").click(function (e) {
e.preventDefault();
// any code here
});
});
}( jQuery ) );
以下是更多信息:
但如果您喜欢使用纯javascript,您可以对每个元素使用,如:
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
});
}
};
window.onload=函数(){
element=document.querySelectorAll(“.element”);
对于(变量i=0;i
“querySelector”在类为“element”的第一个元素处停止。检查您的元素是否是类为“element”的第一个元素。如果不是,请尝试改用ID。例如:const element=document.getElementById(“我的ID”)。