我有一个父div,它的任何区域都有一个点击动作。在这个父div中,我有一个子div也有一个点击动作。当我选择子div时,两个单击事件都会触发。
如何在点击孩子时指定它而不是激活父点击事件?
HTML
<div id="Parent">
<div class="Child"></div>
</div>
CSS
#Parent
{
Width: 300px;
height: 300px;
background: #000;
}
.Child
{
Width: 100px;
height: 100px;
background: blue;
}
的jQuery
$("#Parent").click(function () {
window.open('http://www.Google.com', '_blank');
});
$(".Child").click(function () {
window.open('http://www.Bing.com', '_blank');
});
答案 0 :(得分:5)
那是因为事件&#34;起泡&#34;通过孩子的所有祖先元素。为防止这种情况发生,请event.stopPropagation()
:
$(".Child").click(function (event) {
event.stopPropagation()
window.open('http://www.Bing.com', '_blank');
});