Javascript 检测包含子元素的单击元素

Javascript 检测包含子元素的单击元素,javascript,jquery,Javascript,Jquery,$('.parent')。在('click',函数(e){ if(例如target.matches('.inside')){ console.log('inside'); }否则{ console.log('title'); } }); .parent{ 背景:浅绿色; } .里面{ 背景:银; } .头衔{ 背景:金; } 洛勒姆 请注意,HTML是在层中工作的,所以如果标题要在“内部”中,您可以将标题作为点击的目标,因为内部总是“内部”的 $('.title')。在('click',函

$('.parent')。在('click',函数(e){
if(例如target.matches('.inside')){
console.log('inside');
}否则{
console.log('title');
}
});
.parent{
背景:浅绿色;
}
.里面{
背景:银;
}
.头衔{
背景:金;
}

洛勒姆


请注意,HTML是在层中工作的,所以如果标题要在“内部”中,您可以将标题作为点击的目标,因为内部总是“内部”的

$('.title')。在('click',函数(e)上{
console.log('inside');
});
.parent{
背景:浅绿色;
}
.里面{
背景:银;
}
.头衔{
背景:金;
}

洛勒姆


请注意,HTML是在层中工作的,所以如果标题要在“内部”中,您可以将标题作为点击的目标,因为内部总是“内部”的

$('.title')。在('click',函数(e)上{
console.log('inside');
});
.parent{
背景:浅绿色;
}
.里面{
背景:银;
}
.头衔{
背景:金;
}

洛勒姆


您需要检查
目标
是否有父级
。内部
:-

$('.parent')。在('click',函数(e){
if($(e.target).parents('.inside').length){
console.log('inside');
}否则{
console.log('title');
}
});
.parent{
背景:浅绿色;
}
.里面{
背景:银;
}
.头衔{
背景:金;
}

洛勒姆


您需要检查
目标
是否有父级
。内部
:-

$('.parent')。在('click',函数(e){
if($(e.target).parents('.inside').length){
console.log('inside');
}否则{
console.log('title');
}
});
.parent{
背景:浅绿色;
}
.里面{
背景:银;
}
.头衔{
背景:金;
}

洛勒姆


好的,看看这个,看它是否适合你

我正在检查用户是否单击了具有“inside”类的元素,或者子元素是否属于“inside”元素


希望这有帮助吗?

好的,看看这个,看它是否适合你

我正在检查用户是否单击了具有“inside”类的元素,或者子元素是否属于“inside”元素


希望这能有所帮助?

是不是只有我发现问题不清楚?@treyBake,如果单击了
inside
,则需要在控制台中获取
inside
,即是all@qadenza你能不能不把“inside”类作为元素的目标?e、 g.
$('.inside').on('click',function(){console.log('inside')})
还是我遗漏了什么?@JamieBradley,不,实际上我的标记更复杂,我需要针对
父级('.parent>.inside')。on('click',function(e){console.log('inside');})
这个怎么样?是不是只有我发现问题不清楚?@treyBake,如果单击了
inside
,则需要在控制台中获取
inside
,即是all@qadenza你能不能不把“inside”类作为元素的目标?e、 g.
$('.inside').on('click',function(){console.log('inside')})
还是我遗漏了什么?@JamieBradley,不,实际上我的标记更复杂,我需要针对
父级('.parent>.inside')。on('click',function(e){console.log('inside');})这个怎么样?我需要瞄准
父项
,因为有时会丢失其他元素。我需要瞄准
父项
,因为有时会丢失其他元素
$('.parent').on('click', function(e) {
  var $target = $(e.target);

  if ($target.hasClass('inside') || $target.parent().hasClass('inside')) {
    console.log('inside');    
  } else {
    console.log('not inside');
  }
});