Javascript 如何在java脚本中获取上一个事件目标
这是我的代码Javascript 如何在java脚本中获取上一个事件目标,javascript,html,Javascript,Html,这是我的代码 现在我想知道如何检查以前的目标点击事件并与新事件进行比较 如果两个事件相等,则必须运行一个命令 document.addEventListener("click", (evt) => { let check = evt.target.id; // clicked element if(check){ switch(check) { case 'sp': var tc = 'tabOne';
现在我想知道如何检查以前的目标点击事件并与新事件进行比较
如果两个事件相等,则必须运行一个命令
document.addEventListener("click", (evt) => {
let check = evt.target.id; // clicked element
if(check){
switch(check) {
case 'sp':
var tc = 'tabOne';
break;
case 'bp':
var tc = 'tabTwo';
break;
default :
var tc = 'none';
break;
}
}
do {
if (
tc != 'none'
) {
var tab = document.getElementById(tc)
tab.classList.toggle('vis')
return;
}
check = check.parentNode;
} while (check);
});
保存在一个文件夹中global@JaromandaX为什么OP应该用这些信息来处理全球范围?正确的方法是使用闭包(IIFE、类等)。或者在单击的元素上添加一个“标记”,然后在此之前检查是否已经有一个元素具有这样的标记,并且它是否与单击的元素相同,或者…@Andreas-当然,将其保存在IIFE works中-不想混淆OP-已经使用全局
tc
所以。。。污染不是他们的问题为什么有一个do。。。当唯一改变的事情与实际执行无关时,while
循环?事件处理程序可以替换为:(evt)=>{const-mappings={“sp”:“tabOne”,“bp”:“tabTwo”};const-tab=document.getElementById(mappings[evt.target.id]);if(tab){tab.classList.toggle(“vis”);}}
@JaromandaX”已经使用全局tc
-tc
仅在事件处理程序中可用:var tc='tabOne',…