Javascript 如何捕获父div上的事件?

Javascript 如何捕获父div上的事件?,javascript,html,css,Javascript,Html,Css,我想问: 如何使组显示在分区a和分区b上 我想捕捉组上的事件mousedown,即使用户单击diva或b 基本上,组应该在视觉上覆盖其他两个div,因此当我在组覆盖的区域内单击时,只有组div应该检测到mousedown 注意:我无法更改HTML结构 document.getElementById('group').addEventListener('click',函数(事件){ event.stopPropagation(); 警报('单击:'+event.target.id); });

我想问:

  • 如何使组显示在分区a和分区b上
  • 我想捕捉组上的事件mousedown,即使用户单击diva或b
基本上,组应该在视觉上覆盖其他两个div,因此当我在组覆盖的区域内单击时,只有组div应该检测到mousedown

注意:我无法更改HTML结构

document.getElementById('group').addEventListener('click',函数(事件){
event.stopPropagation();
警报('单击:'+event.target.id);
});
#组{
位置:绝对位置;
宽度:250px;
高度:250px;
背景颜色:黄色;
z指数:2;
不透明度:0.5;
}
#a{
位置:绝对位置;
左:80px;
宽度:50px;
高度:50px;
利润率:10px;
背景颜色:蓝色;
z指数:0;
}
#b{
位置:绝对位置;
宽度:50px;
高度:50px;
利润率:10px;
背景颜色:蓝色;
z指数:0;
}

A.
B
  • 对子对象使用不透明度0

  • 使用
    event.currentTarget
    而不是
    event.target

  • 使用此配置,子项实际上位于
    之上,但不可见,事件由
    元素捕获,而不是子项

    document.getElementById('group').addEventListener('click',函数(事件){
    event.stopPropagation();
    警报('单击:'+event.currentTarget.id);
    });
    
    #组{
    位置:相对位置;
    宽度:250px;
    高度:250px;
    背景颜色:黄色;
    z指数:2;
    不透明度:0.5;
    }
    #a{
    位置:相对位置;
    左:80px;
    宽度:50px;
    高度:50px;
    利润率:10px;
    背景颜色:蓝色;
    z指数:0;
    不透明度:0
    }
    #b{
    位置:相对位置;
    宽度:50px;
    高度:50px;
    利润率:10px;
    背景颜色:蓝色;
    z指数:0;
    不透明度:0;
    }
    
    A.
    B
    
  • 对子对象使用不透明度0

  • 使用
    event.currentTarget
    而不是
    event.target

  • 使用此配置,子项实际上位于
    之上,但不可见,事件由
    元素捕获,而不是子项

    document.getElementById('group').addEventListener('click',函数(事件){
    event.stopPropagation();
    警报('单击:'+event.currentTarget.id);
    });
    
    #组{
    位置:相对位置;
    宽度:250px;
    高度:250px;
    背景颜色:黄色;
    z指数:2;
    不透明度:0.5;
    }
    #a{
    位置:相对位置;
    左:80px;
    宽度:50px;
    高度:50px;
    利润率:10px;
    背景颜色:蓝色;
    z指数:0;
    不透明度:0
    }
    #b{
    位置:相对位置;
    宽度:50px;
    高度:50px;
    利润率:10px;
    背景颜色:蓝色;
    z指数:0;
    不透明度:0;
    }
    
    A.
    B
    
    我不确定你在问什么。如果您单击A或B,您的事件就会冒泡(所有JavaScript事件都会冒泡)。你的意思是,如果你在组中有其他元素,你也希望检测这些元素的点击?您是否尝试过它,但它不起作用?请再解释一下您的问题如果您放弃任何事件,请单击id为“组”的按钮<代码>如果(event.target.id!=='group'){alert('click on:'+event.target.id)}
    不清楚的问题:(我需要,当我在黄色区域(组)中单击时,总是捕捉到组事件。谢谢。我不确定你在问什么。如果你单击A或B,你的事件就会冒泡(所有JavaScript事件都会冒泡)。您是说如果组中有其他元素,您也希望检测对这些元素的单击?您是否尝试过,但它不起作用?请进一步解释您的问题。如果id为“组”,则放弃任何事件单击会怎么样?
    if(event.target.id!==“group”){alert('click on:'+event.target.id)}
    不清楚的问题:(我需要,当我点击黄色区域(团体)时,总是能看到团体活动。谢谢。