我在另一个@foreach( $Category->Questions as $Question )
{{ $Question->casedetail( $TestCase->id ) }}
@endforeach
内有一个div
。两者都附加了事件监听器以在mousedown上运行一个函数 - 将它们称为div
和outerDivFunction
。当我单击内部innerDivFunction
时,两个函数都被调用;我只想调用div
。
怎么做? (Vanilla解决方案比jQuery更受欢迎。)
答案 0 :(得分:4)
在stopPropagation()
中使用活动innerDivFunction
。这可以防止当前事件在捕获和冒泡阶段进一步传播。
有关详情:Event Propagation
function outerDivFunction(){
alert('Outer Div');
}
function innerDivFunction(e){
e.stopPropagation();
alert('Inner Div');
}
.outer{
border: 1px solid blue;
}
.inner{
border: 1px solid red;
margin: 10px;
}
<div class="outer" onclick="outerDivFunction()">Outer Div
<div class="inner" onclick="innerDivFunction(event)">Inner Div</div>
</div>