This question already has answers here:
How do I prevent a parent's onclick event from firing when a child anchor is clicked?
(22个答案)
3年前关闭。
在此示例中,我希望在单击黑色外部div时触发警报,而不是在单击内部div内的任何东西时触发警报。
当前,当我单击内部按钮时,它会触发警报。
我希望内部div内没有任何东西可以触发警报。我该怎么做呢?
(由于某些原因,片段中未显示内部按钮,这是codepen链接:https://codepen.io/GuerrillaCoder/pen/Pmvmqx)
(22个答案)
3年前关闭。
在此示例中,我希望在单击黑色外部div时触发警报,而不是在单击内部div内的任何东西时触发警报。
当前,当我单击内部按钮时,它会触发警报。
$("#outer").click(function() {
alert("triggered");
});
#outer{
position: absolute;
width: 100%;
height: 100%;
background-color: #000;
display: flex;
justify-content: center;
align-items: center;
}
#inner{
background-color: #fff;
width: 300px;
height: 300px;
text-align: center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="outer">
<div id="inner">
<button>inner button</button>
</div>
</div>
我希望内部div内没有任何东西可以触发警报。我该怎么做呢?
(由于某些原因,片段中未显示内部按钮,这是codepen链接:https://codepen.io/GuerrillaCoder/pen/Pmvmqx)
最佳答案
您只需要检查element的ID,因为inner是子元素,它将始终将事件传播到父元素(外部)。
$("#outer").click(function(event) {
if(event.target.id=="outer"){
alert("triggered");
}
});
关于javascript - 将click方法应用于外部div,但不能应用于内部div ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44225331/
10-10 08:59