好的,我想组织我的脚本并对所有事件使用 1 个事件侦听器,因为这些事件的所有元素都属于一个父级,即页面的导航标签,但我通过 querySelectorAll 收集了其中一些元素,这意味着它们现在是数组,对象的集合,我希望它的逻辑是这样的:const topNav = document.querySelector(".topNav");const topNavChildrenLis = document.querySelectorALL(".topNav li");topNav.addEventListener("click", (event)=>{if(event.target == topNavChildrenLis){//do this and that} //and so on and so forth for other elements });我知道这个表达式“event.target == topNavChildrenLis”不起作用,我也尝试通过做这样的事情来返回数组的节点“event.target == topNavChildrenLis.forEach((nodes)=>{ return nodes; } )”而且它也不起作用,有什么办法可以做到这一点吗?谢谢你的帮助:)
1 回答
元芳怎么了
TA贡献1798条经验 获得超7个赞
首先,制作const topNavChildrenLis = document.querySelectorALL(".topNav li");
和数组的结果,以便您可以使用数组方法
const topNavChildrenLis = Array.from(document.querySelectorAll(".topNav li"));
或者
const topNavChildrenLis = [ ...document.querySelectorAll(".topNav li") ];
现在你可以做这样的事情
let tgt = topNavChildrenLis.find(el => el === event.target);
现在tgt
只有当它存在于数组中时才会是 event.target
添加回答
举报
0/150
提交
取消