Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在java脚本中获取上一个事件目标_Javascript_Html - Fatal编程技术网

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',…