javascript - 检测点击里面有孩子的元素
问题描述
$('.parent').on('click', function(e) {
if (e.target.matches('.inside')) {
console.log('inside');
} else {
console.log('title');
}
});
.parent {
background: lightgreen;
}
.inside {
background: silver;
}
.title {
background: gold;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='parent'>
<div class='inside'>
<div class='title'>lorem</div>
</div>
<br>
</div>
单击inside
,您将进入title
控制台。
如何获得inside
不管title
是否在里面?
解决方案
您需要检查是否target
有父母 .inside
:-
$('.parent').on('click', function(e) {
if ($(e.target).parents('.inside').length) {
console.log('inside');
} else {
console.log('title');
}
});
.parent {
background: lightgreen;
}
.inside {
background: silver;
}
.title {
background: gold;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='parent'>
<div class='inside'>
<div class='title'>lorem</div>
</div>
<br>
</div>
推荐阅读
- ngrok - "./ngrok 授权令牌
"不工作 - php - 在我的搜索框中输入撇号会引发错误
- python - 我在我的游戏中创建了一个敌人,它的目的是在 y 轴上上下移动。然而他并没有出现
- excel - 在while循环中填充字典
- javascript - 如何解决异步变量?
- javascript - React 服务器每秒向后端 API 发送 4 个请求
- flutter - 如何正确接收属性中的参数列表?
- loops - 使用编程解决 mathcad 中的问题
- java - 诸如随机的对象(局部和实例变量)
- node.js - 刷新后无法获取,并且在为服务器创建全部捕获时出错 - Express 和 React