所以我不完全确定如何在搜索引擎中说出这一点。说我有以下内容:
<div class = "outer-box">
<div class="inner-box"></div>
</div>
我真的想在你点击外框时定义一个jquery事件,当你点击外框内的内框时,甚至是不同的,而不会触发外部事件(或者至少使它无效)
如果我还触发了内盒事件,有没有办法检查外盒事件,那么我就可以不执行代码了?或者更优雅的方式来做到这一点?
答案 0 :(得分:2)
内部框将首先获取事件,因此只在其末尾return false;
不传播错误。另外,假设您将事件处理程序定义为:
handleEvent(e)
然后你可以这样停止传播:
handleEvent(e) {
e.preventDefault();
}
答案 1 :(得分:1)
将事件绑定到父容器并使用stopPropagation。
$('.outer-box').on('click', function(e) {
var $target = $(e.target);
if($target.hasClass('inner-box')) {
e.stopPropagation();
}
});